IE8与点击绑架和CSRF的攻防战
2009-02-11 13:52:42 来源:WEB开发网点击绑架漏洞是由Jeremiah Grossman及Robert Hansen在去年9月首度揭露,该漏洞可让骇客仿造合法网页,并将伪造的透明网页 覆盖于合法网页之上,因此使用者以为是在合法网页上的鼠标点击,实际上是触发了恶意网页的指令。
如果攻击者伪造的是网络银 行网页,那么使用者也许只是按了某一个网页链接,却可能是将钱转到陌生的帐户中,黑客也可通过此漏洞让使用者下载恶意程序 或是执行任何功能。 IE8引入了一种防止页面被框架化的机制来降低点击劫持所带来的危害。
Web开发人员可以为返回的HTML页面添加一个名为的HTTP应 答头,以规定该页面是否可以被嵌入在iframe里面。如果X-FRAME-OPTIONS的值为DENY,那么IE8就不允许该页面包含在一个框架中 。如果其值为SAMEORIGIN,那么只有在顶级浏览内容与包含X-FRAME-OPTIONS的内容不同源时,IE才会阻止该页面。
举例来说,如果http://shop.example.com/confirm.asp包含一个DENY伪指令,那么该页面就无法放入一个子框架中,无论父框架位于何处。相 反,如果X-FRAME-OPTIONS伪指令的值为SAMEORIGIN,那么该页面就可以放入到任何来自http://shop.example.com的页面的框架中。
当X-FRAME-OPTIONS阻止显示某页面时,浏览器会弹出一个本地错误页面,说明有关限制,并提供一个链接,该链接将在一个新的 窗口中打开框架。当在一个新的窗口中显示,而非在子框架中显示的话,那么页面内容也就无法为点击劫持所用了。
图4
上面是一个恶意的页面,然而,这时候仅仅展示了猫图片,来自实际的webshop的订单按钮却没有显示出来。其中的错误信息指示 ,内容无法在框架中显示。
通过使用X-FRAME-OPTIONS伪指令,Web开发人员可以立即帮助IE8用户减轻来自各种Web 应用程序攻击的威胁。当然,我们希望其 它浏览器也能实现这种X-FRAME-OPTIONS伪指令,因为作为一种防御点击劫持的手段,它相对易于部署,并且兼容性也很好。
四、Web安全任重而道远
虽然微软宣称修补了点击劫持漏洞,但这不是立竿见影的方法,因为它要求网站及Web开发人员的配合,而不是直接保护web用户的 安全。此外,要想让所有网站都采用微软的机制,可能还要有很长的路要走。还有,微软提供的解决方案是非跨平台的,也就是说 ,只对IE8有效。目前出炉的另一个解决方案为针对Mozilla Firefox设计的NoScript外挂程序,该程序可关闭脚本功能并阻挡利用 框架的攻击。
更多精彩
赞助商链接