1.查看源码发现过滤规则是用str_replace()函数把黑名单字符过滤,转为空。但是str_replace()只进行一次过滤,比如:
看到没有,我使用str_replace()把aabb中的ab替换成空,但是为什么还输出ab呢?就是因为他只进行一次替换,替换前你出现了这个字段我就要处理你,替换后我就啥也不管了,就是这么个意思。
2.那基于这个我们就可以使用双写绕过
payload:
"><sscriptcript>alert('XSS')</sscriptcript>
其实这些漏洞都是原本可以避免的,就是因为编写程序的人代码不够严谨,使用的函数不符合规范,才让一些黑客有机可乘。
[…] xss-labs level 7 […]
1
1