“黑客”必学进攻之“跨站剧本进攻”
假如您在任何前面的实例中乐成举办了HTML注入,那么该HTML注入就可用于在谁人域上的任那里所的XSS。您可以用多种差异的要领来向Web应用措施注入JavaScript。假如你的实行曾经导致页面名目被粉碎,诸如截断页面、表现了除您注入以外的剧本,那么很也许就是找到了一个XSS裂痕。 3. 重定向器中的反射式HTML注入 HTML注入的另一个大舞台是重定向器。有些重定向器应承用户重定向到任何URL。 遗憾的是,JavaScript:a_lert(1)是一个正当的URL。很多重定向器会对URL举办理会,以确定重定向到哪里是否安详。这些理会器以及他们的措施员并不老是人们想象的那么智慧,以是像下面的URL: javascript://www.anywhere.com/%0da_lert( 1 ) 以及这个: javascript://http://www.trustedsite.com/trustedDirectory/%0da_lert( 1 ) 也许被接管。在上面的例子中,任何字符串都可以安排在JavaScript注解所用的双斜杠之间以及URL编码的换行符(%0d)之间。 4. 移动式应用中的HTML注入 有些风行的Web应用措施被移植到移动通讯规模。这些移动式应用一样平常具有沟通的成果,可是安详特征更差,而且如故可以通过诸如IE 以及Firefox之类的赏识器举办会见。 因此,它们是HTML注入进攻以及跨站哀求伪造的抱负进攻方针。 凡是环境下,移动式应用作为首要的Web应用措施运行在沟通的域上,因此移动式应用中的任何HTML注入都可以或许会见整个域,包罗运行在该域上的首要的Web应用措施可能其余的Web应用措施。 5. 在Ajax相应以及错误信息中的HTML注入 并非全部HTTP应答城市表现给用户。相同AJAX相应以及超文本传输协议(http)错误动静这些页面凡是会被开拓职员所忽视。开拓职员也许没有思量为AJAX相应提供HTML注入掩护,由于这些哀求凡是不是由用户直接行使的。然而,,进攻者可以用先前的代码片段仿照AJAX的GET以及POST哀求。 同样的,超文本传输协议(http)错误相应,诸如HTTP 404(Not Found)、HTTP 502(Server Error)等等,凡是也会被开拓职员所忽略。开拓职员倾向于假定统统都是HTTP 200(OK)。您可以实行触发其余的相应,而非仅仅HTTP 200,然后试着注入剧本。 6. 行使UTF-7编码举办HTML注入 假如用户的IE自动选择编码集,那么进攻者就能规避大大都HTML注入提防法子。就像前面提到的那样,HTML注入的提防法子一样平常依靠于对隐藏的有害字符举办转义处理赏罚。然而,UTF-7编码技能行使了无法正常转义的通用字符,而这些通用字符偶然无法被某些Web应用措施举办换码。 的UTF-7转义版本将是下面的样子:
留意,这是一种不常见的进攻,由于用户一样平常不会打开自动选择编码技能选项。虽然,也存在其他的操作字符编码可变长度的UTF编码进攻技能,可是这要求对UTF有着深入普及的领略,以是它超出了本文的接头范畴。然而,这个题目声名其余编码(譬喻MIME范例)的疏漏也是能引起HTML注入的。 7. 操作MIME 范例不匹配来举办HTML注入 IE具有很多令人惊奇的未果真特征,譬喻,IE7 以及之前的版本实行加载一个图像可能其余的非HTML的相应而且失败时,它会将该相应作为HTML看待。为了弄大白这个环境,我们可以建设一个文本文件,并包括下列内容: 之后,将其生涯为alert.jpg,然后在IE的URL地点栏中或一个iframe中装载的这个"图像",这就会导致这里的JavaScript被执行。 留意,假如该文件是从一个图像标签加载的话,它就不会作为剧本执行了。 一样平常说来,当您试图上载这样的一个文件到一个图像托管处事时,该处事将拒绝这个文件,由于它基础就不是一个图像。可是图像托管处事凡是环境下会忽视文件的扩展名,而只通过文件的幻数(开始几个字节)来确定文件范例。 因此,进攻者可以避开它,要领是用GIF注释中的HTML来建设一个GIF图像,然后将这个GIF生涯为.jpg文件扩展名的文件。下面是一个单像素的GIF文件,如下所示:
将其定名为test.jpg,并在IE中加载它,这会导致执行这段JavaScript。这也是注入Flash跨域政策的一种好要领。只要把Flash安详计策的XML内容放入GIF注释,并担保这个GIF文件不包括扩展的ASCII字符可能字节NULL即可。您还可以把HTML注入到未压缩的图像文件(诸如XPM以及BMP文件)的图像数据部门,而不是注解中。 8. 行使Flash举办HTML注入 在大大都HTML注入气象中,进攻者可以注入恣意的HTML。举例来说,进攻可以注入一个工具和/或嵌入一个标签来加载该域上的Flash应用措施。 下面是一个例子: 这里的HTML有些繁琐,可是它将JavaScript应用措施具有的节制权赋予一个Flash应用措施,譬喻(颠末ExternalInterface类)读取Cookie、(颠末ExternalInterface类)改变web页面外面、(颠末XML类)读取用户私家数据以及(颠末XML类)以受害者的名义成立HTTP哀求。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |