网上已经有很多关于xss挑战赛靶场的解题思路了,不过想想还是自己再写一篇好了,刚好为自己做个笔记
LEVEL 1
网上已经有很多关于xss挑战赛靶场的解题思路了,不过想想还是自己再写一篇好了,刚好为自己做个笔记
LEVEL 1
网上已经有很多关于xss挑战赛靶场的解题思路了,不过想想还是自己再写一篇好了,刚好为自己做个笔记
LEVEL 1
找xss漏洞和其他漏洞的方法一样,就是找输入接口,找到可以输入数据的地方,构建攻击字段达成攻击。
第一关中明显在url数据后get提交了参数
故构建xxxx/leval1.php?name= 直接弹窗
LEVEL 2
找xss漏洞和其他漏洞的方法一样,就是找输入接口,找到可以输入数据的地方,构建攻击字段达成攻击。
第一关中明显在url数据后get提交了参数
故构建xxxx/leval1.php?name= 直接弹窗
LEVEL 2
找xss漏洞和其他漏洞的方法一样,就是找输入接口,找到可以输入数据的地方,构建攻击字段达成攻击。
第一关中明显在url数据后get提交了参数
故构建xxxx/leval1.php?name= 直接弹窗
LEVEL 2
尝试alert(/xss/) 发现没有弹窗
F12定位到这个表单,发现数据没什么问题,但就是不弹窗
所以怀疑敏感字段被转义了
抓包看一下
明显两个尖括号<>被转义,
该转义用到了htmlspecialchars()方法
这里换个思路,很明显,在跳转后表单数据被保留了,所以,通过被保留的表单数据,同样可以达到执行js的效果
后台处理源码如下,可以看到打印出的"没有找到XXXX"处对输入数据进行了htmlspecialchars()处理
首先构建">闭合之前input标签
">
跳转后弹窗
level 3
同样对输入数据做了处理,这里首先想到的是按着第二题的思路走
抓包后发现,表单内的内容也被htmlspecialchars()方法转义了
测试后发现双引号被转义,单引号没问题
所以构建payload ’ οnclick=alert(/xss/)%0a 绕过(>被过滤,所以使用%0a换行符绕过,注意要将数据写在url中
LEVEL5
简单测试后发现script字段被修改,onclick字符串也被修改,尝试绕过
通过payload '><iframe src="javascript:alert(/xss/)> (javascript: 是伪协议,用于将js代码耦合到html中,同样,还存在其他的伪协议,可自行搜索)