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="javaܼript:%61lert(1)">click me</a>有个大牛跟我说,你读完这篇文章你的XSS技巧就能超越90%的人。
http://drops.wooyun.org/tips/147 收集XSS技巧:lol 赞一个~感觉不错。
页:
[1]