版权声明:本文为博主原创文章,转载本站文章请注明作者和出处,请勿用于任何商业用途。 https://blog.csdn.net/wutianxu123/article/details/82724909
1、漏洞描述:
一个框架注入攻击是一个所有基于GUI的浏览器攻击,它包括任何代码如JavaScript、VBScript(ActivX)、Flash、AJAX(html+js+py)。代码被注入是由于脚本没有对它们正确验证,攻击者有可能注入含有恶意内容的frame或iframe标记。“链接注入”是修改站点内容的行为,其方式为将外部站点的URL嵌入其中,或将有易受攻击的站点中的脚本的URL嵌入其中。将URL嵌入易受攻击的站点中,攻击者便能够以它为平台来启动对其他站点的攻击,以及攻击这个易受攻击的站点本身。
2、检测条件 :
被测网站具有交互功能模块,涉及到参数get和post提交等等
3、检测方法
如果应用程序使用框架,检查主要浏览器窗口的HTML源代码,其中应包含框架标记(frameset)的代码。通过对网站中的get提交的url中的参数进行框架或者链接注入,注入到参数id中后效果:
http://www2.xxx.com/a/index.php?id=Fiframe%3E%3CIFRAME+SRC%3D%22http%3A%2F%2Fwww.baidu.com%22%3E:
效果如下所示:
4、修复方案
建议过滤出所有以下字符:
| (竖线符号)
& (& 符号)
; (分号)
$ (美元符号)
% (百分比符号)
@ (at 符号)
' (单引号)
" (引号)
\' (反斜杠转义单引号)
\\" (反斜杠转义引号)
<> (尖括号)
() (括号)
+ (加号)
CR (回车符,ASCII 0x0d)
LF (换行,ASCII 0x0a)
, (逗号)
\ (反斜杠)
详细过滤方案,请参考XSS跨站漏洞修复方案。