将HTML嵌入DOM时,此正则表达式是否足以捕获所有跨站点脚本尝试。例如:例如document.write()

(javascript:|<\s*script.*?\s*>)


从modsecurity.com在本文档中引用了它
http://www.modsecurity.org/documentation/Ajax_Fingerprinting_and_Filtering_with_ModSecurity_2.0.pdf

例如,它将捕获UTF-8中的所有变体吗?

最佳答案

不幸的是没有。如果攻击者确实在尝试,实际上有很多方法可以绕过该正则表达式。对于现代浏览器,该正则表达式应该做得很好,但并不详尽。例如,类似的事情可能会打开javascript,而无需明确说出脚本或javascript

<img src="blah.jpg" alt="" onmousedown="alert('a')" />


查看here(有些过时,但可以理解)和here以获得更多示例

09-10 11:32
查看更多