注意:十四关的链接失效了,没办法做。
1、从14关下边可以点解链接跳转到15关,一般人都会点。
2、没错,这就是个坑。这里跳转过来的时候他给的是一个错误地址。所以注意要去15关直接修改level后面的数字即可。
3、进入后通过url地址和页面我们可以看到,我们唯一可以输入的点只有 src=
4、然后修改这个参数 src=99999999999,查找出口对应的位置
5、接下来的思路可以尝试修改语句结构
- 这里有引号可以尝试 "/> 与前面的语句形成闭合
- 然后单独些一个<script>alert(1)</script> <!-- 把后面的内容注释,理论上就可以显示出弹框
- payload为:"/><script>alert(1)</script> <!--
- 结果:
当然理论可以,实际不行。
既然没办法把 ng-include: 干掉,所以打不过就加入,百度一波什么是ng-include
结论:看他的属性可以看出,可以用于包含外部的HTML文件。
所以——可以指定一个前面关卡文件来弹出 alert() 框,来实现通过,什么样的关卡满足?就是当输入XSS的payload以后,刷新界面直接通关的关卡
能够实现这个效果的payload通常有这些:
<script>alert(666)</script>
<img src=1 οnerrοr=alert(666)>
<svg src=1 οnlοad=alert(666)>
三个都可以尝试 这里使用的 <img src=1 οnerrοr=alert(666)> 有效
6、找到我们xss的第一关,输入对应的payload:
这个界面输入了payload之后,只要刷新界面就会有弹窗出现,所以可以使用。
http://192.168.114.139:83/level1.php?name=<img src=1 οnerrοr=alert(666)>
可以通关:然后在十五关输入payload
'http://192.168.114.139:83/level1.php?name=<img src=1 οnerrοr=alert(1)>'
7、通关