- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
那些年我们一起学XSS
目录
1. 什么都没过滤的入门情况 1
2. 输出在lt;scriptgt;lt;/scriptgt;之间的情况 3
3. 输出在HTML属性里的情况 5
4. 宽字节复仇记 [QQ邮箱基本通用] 10
5. 反斜线复仇记 13
6. 换行符复仇记 17
7. 宽字节、反斜线与换行符一起复仇记 19
8. Dom Xss入门 [显式输出] 22
9. Dom Xss入门 [隐式输出] 26
10. Dom Xss进阶 [邂逅eval] 34
11. Dom Xss进阶 [善变iframe] 38
12. Dom Xss进阶 [路径con] 42
13. Dom Xss实例 [Discuz X2.5] 47
14. Flash Xss入门 [navigateToURL] 51
15. Flash Xss进阶 [ExternalInterface.call第一个参数] 56
16. Flash Xss进阶 [ExternalInterface.call第二个参数] 61
17. XSS过滤器绕过 [通用绕过] 67
18. XSS过滤器绕过 [猥琐绕过] 69
19. 存储型XSS入门 [什么都没过滤的情况] 72
20. 存储型XSS入门 [套现绕过富文本] 76
21. 存储型XSS进阶 [猜测规则,利用Flash addCallback构造XSS] 79
1. 什么都没过滤的入门情况
只是些反射型XSS,单单发出来没有什么意义。
只是些反射型XSS,腾讯怎么修都修不完。
只是些反射型XSS,我想让它变得更有价值。
只是些反射型XSS,我拿他们做成了教程。
?
1. XSS的存在,一定是伴随着输入,与输出2个概念的。
?
2. 要想过滤掉XSS,你可以在输入层面过滤,也可以在输出层面过滤。
?
3. 如果输入和输出都没过滤。 那么漏洞将是显而易见的。
?
4. 作为第一个最基础的例子, 我们拿出的是一个什么都没过滤(其实还是有些转义的,主要没过滤 , )的例子。 这种例子出现在腾讯这种大网站的概率不是很高。 但是还是让我找到了一个。
?
5. /?umod=commentsoutletact=countsiteid=3libid=9dataid=1480score=1func=haoping_=1353475261886
?
6. 对于上面这个例子。我们可以看到什么是输入,什么是输出。
?
?
?
7. 经过测试,我们发现,score这个【输入】参数,没有进行任何过滤,?
?
即,输入是什么,输出就是什么? 通俗点就是“吃什么,拉什么”。。。
?
如下图:
?
网页中看到的效果如下:
?
?
8. 既然可以直接输入 HTML标签,接下来的利用也就相对简单了。
?
/?umod=commentsoutletact=countsiteid=3libid=9dataid=1480score=img src=1 onerror=alert(1);func=haoping_=1353475261886
效果如下:
修复方案:
这种XSS属于最基本的一类XSS,也最好防御。。
?
它的模型是:
?
HTML标签/HTML标签
[输出]
HTML标签/HTML标签
或
HTML标签[输出]/HTML标签
a. 通常,我们只需要在输出前,将 , 过滤掉即可。
b. 这类XSS在小型网站中比较常见,在大型网站中少见。?
c. 这类XSS通常都被浏览器的XSS过滤器秒杀了,所以一般来说,威力较小。
d. 对于普通用户来说,请使用IE8及以上版本(并开启XSS过滤器功能,默认开启),或chrome浏览器,将可以防御大部分此种类型的XSS攻击
2. 输出在lt;scriptgt;lt;/scriptgt;之间的情况
接着上面一个教程,我们继续。这个例子属于第一例的特殊情况,当然也有特殊解法。也属于非常常见的一种情况。
?
1. 我们找到这么一个点,也是输入和输出都未过滤的一个点。相比教程第一例,其特殊之处在于,是输出在了 script[输出]/script之间。
?
/common/setParentsInfo.php?callback=aaaaaaaaa
?
?
如下图:callback参数未做过滤。 在【查看源代码】下,我们可以看到。
?
?
?
缺陷网页源代码:
?
script type=text/javascriptdocument.domain=;_ret={_res:2};try{parent.aaa(_ret);}catch(err){aaa(_ret);}/script
?
?
2. 碰到这种情况,我们一般有以下解法。
?
2.1 首先判断,是否过滤了 , , / 等符号,
2.2 如果都没有过滤,恭喜你,一般可
文档评论(1)