软件测试实验实训指南
上QQ阅读APP看书,第一时间看更新

1.5 实验#5:testaspnet网站有框架钓鱼风险

缺陷标题 testaspnet网站→comments评论区→评论框中,存在框架钓鱼风险。

测试平台与浏览器 Windows 7+IE 9或Firefox。

测试步骤

(1)用IE浏览器打开testaspnet网站http://testaspnet.vulnweb.com/。

(2)在主页中单击comments。

(3)在comments文本框中输入iframe src=http://baidu.com,单击Send comment按钮,如图1-9所示。

图1-9 输入脚本代码

(4)查看结果页面。

期望结果 用户能够正常评论,不存在框架钓鱼风险。

实际结果 存在框架钓鱼风险,覆盖了其他评论,并且页面显示错乱,如图1-10所示。

图1-10 存在框架钓鱼风险

专家点评


为避免自己的网页或网站被frame或者iframe框架(阻止钓鱼风险),目前大致有3种方法。

1.使用meta元标签
2.使用JavaScript脚本

这个方法用得比较多,但是该方法已经有了破解的办法,那就是在父框架中加入脚本var location=document.location或者var location=""。记住,前台的验证经常会被绕行或被其他方式取代而不起作用。

3.使用加固HTTP安全响应头

这里介绍的响应头是X-Frame-Options,这个属性可以解决使用JavaScript判断会被var location破解的问题,IE 8、Firefox 3.6、Chrome 4以上的版本均能很好地支持。以Java EE软件开发为例,补充Java后台代码

      //to prevent all framing of this content
      response.addHeader("X-FRAME-OPTIONS","DENY");
      //to allow framing of this content only by this site
      response.addHeader("X-FRAME-OPTIONS","SAMEORIGIN");

就可以进行服务器端的验证(攻击者是无法绕过服务器端验证的),从而确保网站不会被框架钓鱼利用。此种解决方法是目前最为安全的解决方案。