吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 775|回复: 7
收起左侧

[其他原创] XSS之被我们忽视的Cookie实践

[复制链接]
爱学习的小妖精 发表于 2024-6-9 15:37
本帖最后由 爱学习的小妖精 于 2024-6-10 22:45 编辑


1.1  XSS 跨站脚本攻击介绍

跨站脚本攻击英文全称为(Cross site Script)缩写为 CSS,但是为了和层叠样式表(Cascading Style Sheet)CSS 区分开来,所以在安全领域跨站脚本攻击叫做 XSS(官方解释)
1.jpg

XSS 攻击简介

XSS 攻击通常指黑客通过往 Web 页面中插入恶意 Script 代码,当用户访问网页时恶意代码在用户的浏览器中被执行,从而劫持用户浏览器窃取用户信息。

1.2  XSS 跨站脚本攻击分类

XSS 脚本分为下面三类

第一种类型:反射型 XSS

反射型 XSS 又称之为非持久型 XSS,黑客需要通过诱使用户点击包含 XSS 攻击代码的恶意链接,然后用户浏览器执行恶意代码触发 XSS 漏洞。

第二种类型:存储型 XSS

存储型 XSS 会把用户输入的数据存储在服务器端,这种 XSS 可以持久化,而且更加稳定。

比如黑客写了一篇包含 XSS 恶意代码的博客文章,那么访问该博客的所有用户他们的浏览器中都会执行黑客构造的 XSS 恶意代码,通常这种攻击代码会以文本或数据库的方式保存在服务器端,所以称之为存储型 XSS。

第三种类型:DOM 型 XSS(不常用)

DOM 概述:HTML DOM 定义了访问和操作 HTML 文档的标准方法。

DOM 将 HTML 文档表达为树结构。

DOM 型 XSS 并不根据数据是否保存在服务器端来进行划分,从效果来看它属于反射性 XSS,但是因为形成原因比较特殊所以被单独作为一个分类,通过修改 DOM 节点形成的 XSS 攻击被称之为 DOM 型 XSS。

1.3  Cookie 概述
(1、Cookie 概述:

Cookie 是一些数据,存储于你电脑上的文本文件中。

当web服务器向浏览器发送web页面时,在连接关闭后,服务端不会记录用户的信息。

Cookie的作用就是用于解决“如何记录客户端的用户信息":

(1)、当用户访问web页面时,他的名字可以记录在cookie 中。

(2)、在用户下一-次访问该页面时,可以在cookie 中读取用户访问记录里

Cookie以键值对形式存储,如下所示:

username= Jack20

当浏览器从服务器.上请求web页面时,属 于该页面的cookie 会被添加到该请求中。服务端通过这种方式来获取用户的信息。

(2、使用JavaScript 创建Cookie

JavaScript可以使用document.cookie属性来创建、读取、及删除cookie。

例1: JavaScript中,创建cookie 如下所示:

document.cookie= "username=Jack20";

例2:你还可以为cookie 添加一个过期时间(以UTC或GMT时间)默认情况下,cookie 在浏览器关闭时删除:

document.cookie= "username=Jack20; expires=Wed, 26 July 2028 12:00:00 GMT";
(3、使用JavaScript读取Cookie

在JavaScript中,可以使用以下代码来读取cookie: 4

var x = document.cookie;

注: document.cookie将以字符串的方式返回所有的cookie,类型格式: cookie1 =value;cookie2 =value; cookie3= value;

(4、使用JavaScript 修改Cookie

在JavaScript 中,修改cookie类似于创建cookie, 如下所示:

document.cookie= "username= Jack; expires=Wed, 26 July 2028 12:00:00 GMT;path=/";

旧的cookie 将被覆盖。

(5、Cookie字符串

document.cookie属性看起来像一个普通的文本字符串,其实它不是。

(6、JavaScript Cookie 实例

实验描述:在以下实例中,我们将创建 cookie 来存储访问者名称。

首先,访问者访问 web 页面, 他将被要求填写自己的名字。该名字会存储在 cookie 中。访问者下一次访问页面时,他会看到一个欢迎的消息。

在 kali 打开终端(这里在虚拟机里装了Kali2020.2),先启动 apache 服务,然后新建 一个html 页面
3.jpg

写入如下代码:

[Asm] 纯文本查看 复制代码
<!DOCTYPE html>
<html>

<head> <meta charset="utf-8"> <title>js_cookie 实例</title> </head>

<head> <script> function setCookie(cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays 24 60 60 1000)); var expires = "expires=" + d.toGMTString(); document.cookie = cname + "=" + cvalue + "; " + expires; }

    function getCookie(cname) {
        var name = cname + "=";
        var ca = document.cookie.split(';');
        for (var i = 0; i &lt; ca.length; i++) {
            var c = ca[zxsq-anti-bbcode-i].trim();
            if (c.indexOf(name) == 0) {
                return c.substring(name.length, c.length);
            }
        }
        return "";
    }

    function checkCookie() {
        var user = getCookie("username");
        if (user != "") {
            alert("欢迎 " + user + " 再次访问");
        } else {
            user = prompt("请输入你的名字:", "");
            if (user != "" && user != null) {
                setCookie("username", user, 30);
            }
        }
    }
&lt;/script&gt;

</head> <body></body> </html>

</head> <body></body> </html>

2.png

第一次访问,服务器里没有任何Cookie数据,提示输入名字,输入Jack20,然后点击确定,然后再次刷新页面

1.png

刷新后,自动登录并提示 欢迎 Jack20 再次访问。这是服务器里多了一条Cookie数据

原理分析:第一次访问的时候,检查 cookie 中是否有存储用户名,如果没有提示输入名字,如果有提示“欢迎 xxxx 再次访问”,如果 cookie 中没有存储用户名,输入名字点击确定后,名字将会被存储在 cookie 中,再次刷新页面的时候,将会从 cookie 中读取到名字,并在页面中弹出提示框显示“欢迎 xxxx 再次访问”。

(7、Cookie的安全问题

1.Cookie欺骗

2.Flash的代码隐患

所以,平时我们去访问一些来路不明的网站,在填写信息时一定要看清楚,防止重要信息泄露

以上内容仅供学习研究使用,请勿用于非法用途。

免费评分

参与人数 3吾爱币 +9 热心值 +3 收起 理由
secxun + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
pp67868450 + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

侃遍天下无二人 发表于 2024-6-10 02:38
已恢复,建议检查下排版,存在乱码,且部分图片无法加载
 楼主| 爱学习的小妖精 发表于 2024-6-10 15:22
侃遍天下无二人 发表于 2024-6-10 02:38
已恢复,建议检查下排版,存在乱码,且部分图片无法加载

好滴好滴,已经重新编排谢谢啊
collinchen1218 发表于 2024-6-10 21:42
 楼主| 爱学习的小妖精 发表于 2024-6-10 22:45
collinchen1218 发表于 2024-6-10 21:42
改成md,还是很乱

好哒谢谢大佬指导
nexttime 发表于 2024-6-11 11:27
啥意思?我在网站上用恶意cookies攻击我自己?
 楼主| 爱学习的小妖精 发表于 2024-6-11 13:39
nexttime 发表于 2024-6-11 11:27
啥意思?我在网站上用恶意cookies攻击我自己?

意思是用这个案例说明有些不怀好意的网站会出现:1.Cookie欺骗2.Flash的代码隐患是为了防范

所以,平时我们去访问一些来路不明的网站,在填写信息时一定要看清楚,防止重要信息泄露
LedFiv5 发表于 2024-10-2 17:15
学习了,谢谢楼主
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 12:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表