xss-labs的通关1--5
搭建xss-labs
这个靶场在docker上没有找到相应的资源,
因此我们选择使用phpstudy
搭建,需要的资源包请在此此网盘下载
提取码是cwth
解压完成后放在www
下的目录。
xss-labs的通关
第1关
没有任何提示的情况下,选择查看源代码
根据代码可以看出只要我们输入正确,他就会自动转换到第二关。
这里有window.alert = function() 那么什么是alert呢?
alert():显示带有一条指定消息和一个 OK(确认) 按钮的警告框
那么,我们应该想办法让这个框子显形
既然是xss攻击,我们就采用js的方式注入
将输入框中的name =test 的test删掉,换上标签
<script>alert('xss')\</script>
弹出这个界面的时候,我们第一关就通过了
第2关
这就是第二关了
我们继续输入第一关的脚本
发现无用,查看源代码,发现注入的时候input标签没有闭合
我们把<input>
标签相当于sql那样人工闭合掉,
先加入双引号和右尖括号,再加入我们的脚本就好了。
最后结果为
">\<script>alert('xss')\</script>
这样就好了
第3关
这样就来到了第三关
我们输入标签发现有问题,查看源代码发现应该构造单引号闭合,但还是不可以。
发现我们的输入被转义了,那么只好选择一种不会转义的方式。
查看这里
我们选择一种'onmouseover=alert(“xss”)
注意,输完以后需要再次点击输入框才会弹出。
第4关
我们用第三关的方式先测试一下
这次选择"onclick="alert(/xss/)
可见我们需要先闭合才能达到需要的结果
我们进行闭合测试
"onclick="alert(/xss/)
成功
第5关
同上,先试一试onclick=alert(/xss/)
在查看源代码
看这个情况,o后面多出来的下划线,确认他应该是被作者ban了。
尝试一下第一关的方式,发现果然,也被ban了
我们这时候可以使用javascript伪协议以及标签进行注入。
试试href,将其闭合后构造一个"><a href='javascript:alert(xss/)'>
试一试
ok成功
暑假第一周