- 软件测试实验实训指南
- 陈英
- 514字
- 2021-03-23 22:36:48
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");
就可以进行服务器端的验证(攻击者是无法绕过服务器端验证的),从而确保网站不会被框架钓鱼利用。此种解决方法是目前最为安全的解决方案。