绕过xss过滤
0x01 用户不能构造自己的html标记
绕过思路:利用现有html标签属性值(低版本的浏览器如ie6可能有此漏洞)
举例:
1 | <table background='javascript:alert(/xss/)'></table> |
说明:不是所有标记的属性值都能产生xss,通常只有引用文件的属性才能触发,如:href lowsrc bgsound background value action dynsrc
(经过测试,相当一部分的属性值无法在高版本的浏览中实现攻击,因为浏览器会将js代码当做url访问而不会认为是js。可以用的有herf,但是需要点击,无法自动触发)
1 | <a href="javascript:alert(/xss/)">touch me!</a> |
0x02 敏感字过滤
绕过思路1:ascii编码
1 | <img src=1 onerror=alert(/xss/)> |
说明:格式:&#+(可以补0)+ascii编码
还可以把、&02等字符插入到javascript或Vbscript的头部,tab符	、换行符
、回车符
可以插入到代码中任意地方(未复现成功)
注意这是因为浏览器对html对ascii的支持所致,在\