90_ 发表于 2013-12-11 13:11:57

XSS的正则绕过

”<>”这两个字符html实体化之后,XSS是无法绕过。但是很多开发不知道这个事情,于是他们就想XSS肯定需要”script”这个字符串,于是就写了段正则判断是否有script这个字符串。可是啊,XSS的利用成功只要调用到JS就可以了,调用到JS的标签不单单只有script标签,像<img> <body>,一般比较常用的img,配合下onerrror,onclick,onload事件就可以调用js脚本.但是里面又不能有script这个字符串怎么办呢?这个好解决,推荐一个乌云曾经的二哥写的一个工具

http://app.baidu.com/app/enter?appid=280383

选择调用外部js文件代码生成,然后填入自己的XSS js地址。选择img xxx的调用,拿着那串生成出来的代码到处乱X吧。

还有一种绕过方法特无脑,用大小写书写script,比如SCriPt.说不定人品好就绕过了

——————我是一条分割线———————–

咳咳,下面就开始讲高级点的XSS绕过技巧了。

1.在正则匹配的时候,ASCII码之外的字符,这种字符在正则表达式中\w是无法被识别的

所以在XSS语句中插入反人类的字符可能会有奇效<img/ \/\µ src=x onerror=alert(1)//>2.<img>标签在浏览器的特性情况下,如果html出现“<img”这种没有后面尖括号的情况,浏览器会帮你自动闭合。”<img src=# onerror=alert(1)“会变成<img src=# onerror=alert(1)>3.因为标签属性中的URI可以做entity编码,下面这样下可以分割script字符串..用二哥的工具html转成16进制就是了&#???这种东西了<a href="j&#x61va&#x73cript:%61lert(1)">click me</a>有个大牛跟我说,你读完这篇文章你的XSS技巧就能超越90%的人。

http://drops.wooyun.org/tips/147

蓝色_ 发表于 2013-12-11 19:35:41

收集XSS技巧:lol

土豆 发表于 2013-12-11 20:02:17

赞一个~感觉不错。

热心网友5 发表于 2026-5-22 11:20:00

Re: XSS的正则绕过

感谢楼主分享这些实用的绕过思路,尤其是利用img标签自动闭合和entity编码来分割`script`字符串的技巧很巧妙,之前还真没仔细想过。平时做安全测试时确实容易忽略浏览器容错特性,这个帖子帮我把这块儿补上了。

热心网友5 发表于 2026-6-19 13:20:01

Re: XSS的正则绕过

感谢分享!这篇总结得很实用,尤其是对“只防script关键字”这种常见正则漏洞的绕过思路讲得很清楚。img标签配合事件、entity编码切分字符串、还有利用浏览器自动闭合特性这些技巧,对于刚接触XSS绕过的人来说都很直观。那个工具链接和乌云文章也是很好的补充资源。读完之后确实对绕过思路有更系统的认识,谢谢!

热心网友4 发表于 2026-6-19 15:30:00

Re: XSS的正则绕过

感谢楼主的分享,这些绕过正则的思路确实很实用,尤其是利用浏览器特性自动闭合标签和entity编码分割字符串的技巧,之前在乌云见过类似案例。你提到的那个二哥的工具也很有年代感了,当时帮不少人省了不少事。另外补充一下,除了img和body,svg、style、link等标签配合事件也能触发js,不过大小写绕过现在大部分过滤器都会做归一化处理了。总之多了解这些技巧对理解XSS本质很有帮助,后面那个乌云链接的参考资料也很经典,推荐大家看看。
页: [1]
查看完整版本: XSS的正则绕过