环境准备
测试
打开页面
还是一样的先测试有没有过滤符号,输入 <> 试试
无论是 JS 特殊代码还是特殊符号都没用,都会被重置为 English,输入其选项框中的值则不会,推测后端设置了白名单
利用 & 或 # 符号连接两个 English 试试
// "#"符号:在URL中,"#"符号用于标记页面内的特定位置,也称为锚点。它通常用于在网页中跳转到指定的锚点位置,以便用户可以直接定位到页面的特定部分。例如,http://www.example.com/page.html#section2表示在页面page.html中跳转到section2这个锚点位置。 // "&"符号:在URL中,"&"符号用于分隔URL中的不同参数。它通常用于在URL中传递多个参数。每个参数由参数名和参数值组成,它们通过"&"符号进行分隔。例如,http://www.example.com/page.html?param1=value1¶m2=value2表示在URL中传递了两个参数,一个是param1,值为value1,另一个是param2,值为value2。
于是咱们可以将后面的 English 替换为恶意代码
// #<script>alert(/xss/)</script> // &<script>alert(/xss/)</script>
成功