靶机地址:https://buuoj.cn/challenges#XSS-Lab

level 1

​ 观察发现欢迎用户test与URL中的name=test字段对应,尝试修改发现可行。直接将name字段改为name=<script>alert()</script>,完工。

level 2

​ 在搜索栏中的输入会回显到页面,查看网页源代码,发现值在inputvalue属性中

​ 构造闭合"> <script>alert()</script> // ,构造以后的标签会变成.... value=""> <script>alert()</script> // ">。完工

level 3

​ 老样子构造value属性闭合,尝试"> <script>alert()</script> // 构造闭合,查看网页源代码发现语句变成&quot;&gt; &lt;script&gt;alert()&lt;/script&gt; // ,说明把"、<、>、进行了html编码过滤,尝试构造onmouseover事件(鼠标移到事件),构造语句'onmouseover='alert()'。完工

level 4

​ 构造闭合"> <script>alert()</script> // ,查看源代码发现进行了>、<过滤,尝试构造事件" onmouseover='alert()'。完工

​ 说明一下标签的事件有很多类型,可以自己试试别的事件响应。

level 5

​ 检查一下都有什么过滤。发现有一下过滤

script –> scr_ipt

onmouseover –> o_nmouseover

无法采用事件,那么尝试构造一个标签 "> <a href='javascript:alert()'>233</a> //,发现javascript没有过滤,说明判断语句匹配值仅仅为script,点击构造的<a>标签内容。完工