目录1.什么都没过滤的入门情况...............................................................................................................................................................................................12.输出在<script></script>之间的情况............................................................................................................................................................33.输出在HTML属性里的情况.........................................................................................................................................................................................54.宽字节复仇记[QQ邮箱基本通用].............................................................................................................................................................................105.反斜线复仇记.................................................................................................................................................................................................................136.换行符复仇记.................................................................................................................................................................................................................177.宽字节、反斜线与换行符一起复仇记........................................................................................................................................................................198.DomXss入门[显式输出].............................................................................................................................................................................................229.DomXss入门[隐式输出].............................................................................................................................................................................................2610.DomXss进阶[邂逅eval]...........................................................................................................................................................................................3411.DomXss进阶[善变iframe]........................................................................................................................................................................................3812.DomXss进阶[路径con]............................................................................................................................................................................................4213.DomXss实例[DiscuzX2.5].......................................................................................................................................................................................4714.FlashXss入门[navigateToURL]................................................................................................................................................................................5115.FlashXss进阶[ExternalInterface.call第一个参数]..................................................................................................................................................5616.FlashXss进阶[ExternalInterface.call第二个参数]..................................................................................................................................................6117.XSS过滤器绕过[通用绕过]......................................................................................................................................................................................6718.XSS过滤器绕过[猥琐绕过]......................................................................................................................................................................................6919.存储型XSS入门[什么都没过滤的情况]................................................................................................................................................................7220.存储型XSS入门[套现绕过富文本]........................................................................................................................................................................7621.存储型XSS进阶[猜测规则,利用FlashaddCallback构造XSS]........................................................................................................................791.什么都没过滤的入门情况只是些反射型XSS,单单发出来没有什么意义。只是些反射型XSS,腾讯怎么修都修不完。只是些反射型XSS,我想让它变得更有价值。只是些反射型XSS,我拿他们做成了教程。1.XSS的存在,一定是伴随着输入,与输出2个概念的。2.要想过滤掉XSS,你可以在输入层面过滤,也可以在输出层面过滤。3.如果输入和输出都没过滤。那么漏洞将是显而易见的。4.作为第一个最基础的例子,我们拿出的是一个什么都没过滤(其实还是有些转义的,主要没过滤<,>)的例子。这种例子出现在腾讯这种大网站的概率不是很高。但是还是让我找到了一个。5.http://app.data.qq.com/?umod=commentsoutlet&act=count&siteid=3&libid=9&dataid=1480&score=1&func=haoping&_=1353475261886
6.对于上面这个例子。我们可以看到什么是输入,什么是输出。7.经过测试,我们发现,score这个【输入】参数,没有进行任何过滤,即,输入是什么,输出就是什么?通俗点就是“吃什么,拉什么”。。。如下图:网页中看到的效果如下:8.既然可以直接输入<>HTML标签,接下来的利用也就相对简单了。http://app.data.qq.com/?umod=commentsoutlet&act=count&siteid=3&libid=9&dataid=1480&score=
&func=haoping&_=1353475261886效果如下:修复方案:这种XSS属于最基本的一类XSS,也最好防御。。它的模型是:[输出]或[输出]a.通常,我们只需要在输出前,将<,>过滤掉即可。b.这类XSS在小型网站中比较常见,在大型网站中少见。c.这类XSS通常都被浏览器的XSS过滤器秒杀了,所以一般来说,威力较小。d.对于普通用户来说,请使用IE8及以上版本(并开启XSS过滤器功能,默认开启),或chrome浏览器,将可以防御大部分此种类型的XSS攻击2.输出在<script></script>之间的情况接着上面一个教程,我们继续。这个例子属于第一例的特殊情况,当然也有特殊解法。也属于非常常见的一种情况。1.我们找到这么一个点,也是输入和输出都未过滤的一个点。相比教程第一例,其特殊之处在于,是输出在了之间。http://activity.soso.com/common/setParentsInfo.php?callback=aaaaaaaaa如下图:callback参数未做过滤。在【查看源代码】下,我们可以看到。
http://activity.soso.com/common/setParentsInfo.php?callback=eval('alert(1)');void可以看到,源代码是下面的样子。也就是说,我们插入的内容,使得这一段javascript依然【语法正确】,能够【正确执行】,并且能够执行【我们所插入的JS代码】,这样我们的目的就达到了。构造后的源代码如下:document.domain='soso.com';_ret={"_res":2};try{parent.eval('alert(1)');void(_ret);}catch(err){eval('alert(1)');void(_ret);}4.这种输出在JS代码里的情况十分常见,但是呢?不幸的是,像这样没过滤的情况,却不是很常见。例如:vara="[输出]";//通常程序员会把"过滤掉,这样的话,一般来说,我们就很难构造。但是,这并不是说,就一定是不能利用,后面我们会拿腾讯一些【比较有意思】的例子,来进一步说到这个【输出在js里】的情况的~修复方案:这类XSS的模型通常是: