|
|
|
联系客服020-83701501

浅谈新手在寻找XSS时所存在的一些误区

联系在线客服,可以获得免费在线咨询服务。 QQ咨询 我要预约
浅谈新手在探求XSS时所存在的一些误区

有段工夫没写东西了, 迩来看到zone里出现了不少“XSS怎么绕过某某标志的帖子”,感想不少新手在探求XSS时走进了一些误区,比方:顺便想着怎么去“绕过”。这里做个总结,渴想对自身有所扶助。

1. 误区1: XSS,不是顺便去“绕过”限制。

打个复杂的比如,一个已经被层层把守的大门,迎面荆棘无数,而你又人多势众的,怎么闯的进去? 这个时候你要理解到,走大门是不行能的。其实咱们要冲破的城防,有不幼年门也许进去的,乃至不需要任何才具便也许直接走进去。咱们为什么不走呢?

XSS是很好防御的,不就是过滤一下么,所以咱们不要太多寄渴想与程序员纰谬的过滤逻辑,而理应把渴想请托于程序员的“忘记过滤”上。

无理论测试过程中,如许的例子会有不少。上面是一个对照榜样的例子。

腾讯微博:

正门: 解释内容。 你认为你能冲破吗?程序员在这里是重兵把守,早就过滤的结结实实。想冲破限制,确实是不行能的义务。 假设自身理解到这点,就不会问“过滤了< , >” 怎么办啊!

小门: 此外参数。 比方微博发布音乐时的 musicLocation 等参数。
也许注意到,这里程序员就没有那末器重了,漏洞出了一次又一次。详细见:

A) http://www.wooyun.org/whitehats/心伤的胖子 的 腾讯微博系列
B) http://www.wooyun.org/whitehats/gainover 的??腾讯微博关系

2. 误区2: XSS,岂但仅存在于你所看得见的位置。

大一切新手,在探求XSS时,都会在一些品评框去输出XSS代码,尔后看页面有没有弹窗。虽然不是说这个方法没有用,而是这种方法,确实很难“碰”到一个XSS。所以不少新手会感想XSS怎么这么难找到。缘故原由有几点:A):像品评框,小我资料这种,你所能想到的位置。稍微有一点安全理解的程序员也能想到,所以每每是被过滤掉的。 B):你所填入的资料,并不总因此HTML标签的形式,输出到页面上。所以无意候并不是不克不及X,只是由于你填入的东西差异纰谬。

看不见有两个层面:

A) 输出看不见。
建议自身在提交申请的时候,应用抓包软件,尔后对申请的参数一一测试。

B)??输出看不见。
建议自身对返回的数据,也也许应用抓包软件抓取数据,尔后对抓回的数据进行搜寻,搜寻你输出的数据,来定位看不见的输出。另有一种方式,在chrome中,也许搜寻浏览器调试东西中的[resource]。

3. 误区3: XSS,绕过限制不是让你乱花字符去绕过,切忌盲目。

或人在看到代码是 <a href=”xxxx\u0022″> 的时候,问自身:“为什么\u0022”不行啊? 这种绕过是盲目标。

在测试早期,咱们假设不兴奋去看对方的代码逻辑,也许采纳“盲目”的方式去测试(用各种特殊字符去摸索),如许也许节约不少工夫。但是,当咱们已经大约确定,数据输出位于哪个点时,比方上面这个 xxxx ,咱们已经知道是输出到了 href=”之间”??的时候。咱们就不克不及盲目标去”绕过”,一定要有针对性。这个针对性首假设如下几点。

A) 输出点,是直接输出,还是经过了DOM。

复杂通俗点的说法是:
前者也许经由右键搜查源代码,搜寻到。
后者经由右键搜查源代码是搜寻不到的。

B) 直接输出点,是位于HTML标签里,还是位于Script剧本里,大约是Style里

HTML标签又分为:
是在HTML标签之间: <div> 内容在这里 </div>
还是在HTML属性之间: <img alt=”内容在这里”>
还是在HTML事变之间:??<img onload=”内容在这里”>
Script/style标签:
依照输出本身去结构闭合,包管语法切确即可。

C)??DOM输出点,这个需要一定的JS基础。
C.1) 定位输出内容的JS代码段。
C.2) 搜查此代码段,可否存在过滤问题。
C.3) 假设存在,制订绕过规则。

D) 输出点,采纳的什么过滤规则
D.1)领会以上B)中,
每一个点该过滤什么字符,
假设没过滤什么字符,该怎么去利用。
D.2)一一测试法,看看目标输出点,终究过滤了哪些字符
D.3)测试任事器端的一些转换逻辑,比方有些任事器会先将&quot;转换为”
D.4)确定可否可绕过,不克不及绕过的趁早放弃

总之,首先要领会若何防御,你能力领会,若何绕过,不克不及盲目。其中,B+D的规则根本是死的,无意碰上些任事器端过滤逻辑有问题的,是也许绕过的,迥殊是任事器端采纳黑名单的方式时。C则较为天真,所谓的“绕过”每每是针对这种。

4. 此外:

A) 代码里领略看到拔出了 <script>,怎么不实验啊?

这种问题,zone里貌似有几个帖子了,这里夸张下,翻开调试东西看代码的时候,请注意色采。 以chrome为例,只有<script>..</script>标识表记标帜以黑色默示时,才阐明是拔出了,而以彩色默示时,理论上的代码是:&lt;script&gt;…. &lt;/script&gt; ,此外标签同理。

B) <xxx xxxx=”xxx”> 这个放进去怎么不行啊?

首先确定你这个是XSS代码,此外,一些新手会在网上找到一些旧的资料,而有些XSS代码是IE6时代的产物,大约是浏览器奇怪的代码,所以一定要注意代码根源,适用于什么浏览器。

阅读此文时,可拜见我夙昔做的一个PPT:

http://vdisk.weibo.com/s/9Cvwn

本文转自:http://zone.wooyun.org/content/1557

作者:gainover

本文由Internet安全攻防研究室(www.91ri.org)动态安全小组征集收拾整顿,转载请阐明出处!

数安新闻+更多

证书相关+更多