XSS过滤器绕过总结
黑名单过滤器绕过
黑名单模式下的过滤器是最常见的。他们的目标是检测特定模式并防止恶意行为。这完全是“模式”的问题,它们越准确,就越可以拦截攻击。
1. 注入脚本代码
主要是
1.1 绕过弱
简单的过滤器无法涵盖所有可能的情况,所以可以绕开它们。 以下示例仅是对弱规则的一些绕过。
#大写和小写字符
#标签后加随机字符串
ipt>alert(1)ipt> #嵌套标签(双写)
alert(1) #NULL字节
1.2 ModSecurity > 基于标签的XSS向量规则
这是ModSecurity过滤
SecRule ARGS "(?i)(
显然,我们插入脚本代码方法不是唯一的。 有多种方法可以运行我们的代码,例如不同的HTML标签和相关的事件。
1.3 除
show
send send#可使用https://github.com/evilcos/xss.swf
1.4 除
事件是访问者与HTML DOM之间交互性的方式; 这只需通过执行客户端代码(JavaScript)来实现。
几乎所有事件处理程序标识符都以on开头,后跟事件名称。 最常用的一种是onerror,
常用On事件
onsearch
onwebkitanimationend
onwebkitanimationiteration
onwebkitanimationstart
onwebkittransitionend
onabort
onblur
oncancel
oncanplay
oncanplaythrough
onchange
onclick
onclose
oncontextmenu
oncuechange
ondblclick
ondrag
ondragend
ondragenter
ondragleave
ondragover
ondragstart
ondrop
ondurationchange
onemptied
onended
onerror
onfocus
onformdata
oninput
oninvalid
onkeydown
onkeypress
onkeyup
onload
onloadeddata
onloadedmeta