欢迎来到HELLO素材网! 南京网站制作选择顺炫科技
丰富的DIV CSS模版、JS,jQuery特效免费提供下载
当前位置:主页 > 建站教程 > 网站运营教程 >

网站被挂iframe木马的处理计划

发表于2019-04-23 08:00| 次阅读| 来源网络整理| 作者session

摘要:网站被挂iframe木马的处理计划
网站被挂iframe木马的处理计划

相信大少数站长都曾经遭逢过iframe木马的损害,有冤家的网站被注入了N回iframe,心境可想而知。而且如今ARP攻击,注入iframe也是轻而易举的事,仅局域网里都时辰面临要挟,今天把原理细细地讲一下吧。

IE Only——普通只要IE害怕iframe这样的挂马,所以就拿IE开刀。

在浏览本文之前,咱们先了解一下e­xpression:

IE5及其当前版本支持在CSS中利用e­xpression,用来把CSS属性和JavaScript脚本关联起来,这里的CSS属性可能是元素固有的属性,也可能是 自定义属性。就是说CSS属性前面可能是一段JavaScript表达式,CSS属性的值等于Javascript表达式执行的后果。在表达式中可能间接引用元素本身的属性和方法,也可能利用其余阅读器对象。这个表达式就如同是在这个元素的一个成员函数中一样。

很多冤家都知道CSS可能间接形容一个可视标记的外观。例如:p{color:red} 则网页里 一切p标记里的文字色彩都会变成红色;iframe不也是一个标记吗?末尾跟灵儿写代码吧,呵呵:


iframe{...这里写形容外观的CSS代码;}

细心想想要防止iframe里的东东被下载的最好办法是什么?外围来了,那就是切断iframe里的申请,切断申请就是要迅速销毁iframe对象。如何完成呢,上面不是引见了e­xpression吗?e­xpression是可能执行JS脚本的哈。语法格式如下二种:

标记固有的CSS属性名:e­xpression(JS表达式);
或 自定义属性名:e­xpression(JS表达式);

在这里咱们抉择第二种,代码应该大致是这样


iframe{v:e­xpression(JS表达式);}

接上去的成绩是如何销毁网页里一切的iframe对象;利用JS完成的原理是这样的:使iframe里的申请地址变成空白页(about:blank),再将iframe对象从DOM(文档对象模型)中移除就可能切断一切iframe里的申请了。移除DOM节点的方法比较多,我这里就用 outerHTML这个属性吧。CSS代码如下:


iframe{v:e­xpression(this.src='about:blank',this.outerHTML='');}

阐明:后面的v字是灵儿本人定义的一个CSS属性,这里的this代表一切将要形容外观的iframe对象,中间的逗号代表二句代码一同执行,没有执行优先顺序,这可是强有力的保证噢。about:blank代表空白页,大家都知道的。outerHTML属性是DOM对象蕴含本身的HTML代码,而innerHTML则是DOM对象(不含自身)里面所蕴含的HTML代码。

痛快,代码写好了,就让我信来测试一下有没有效果。

首先,新建一个网页,插入以上的CSS代码(或在您现有的CSS代码里退出上面那句):


<style type="text/css">
iframe{v:e­xpression(this.src='about:blank',this.outerHTML='');}
</style>

然后在这个页面插入几个IFRAME代码,假定它们是被挂的木马网页。代码如下:


<iframe src=""></iframe>
<iframe src="http://www.xxx.com/"></iframe>
<iframe src=" "></iframe>

保存为noiframe.htm,打开阅读器测试一下(本地测试需求启用顶部禁用的脚本的揭示条哦)。我这里利用抓包工具来测试,不过也没有必要利用抓包工具,一个最简略有效的方法是打开IE的缓存文件夹,先清空它,再刷新这个页面,看看缓存文件夹里有没有这三个网站里的文件。假设没有,阐明没有任何申请后果被前往——测试后果是令人称心的,我的脸上有些浅笑 ^^*,这时同事递给我一块饼,蛮好吃的。

揭示:Windows XP SP2的缓存文件夹地位 C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files

认真的冤家发现成绩来了,假设我本人的网页里要利用iframe这个东东怎样办?


答:假设要使本人的iframe显示在网页里,而他人挂的IFRAME马都不起作用,在CSS里加一个


#xxx{v:e­xpression() !important}

对应的IFRAME代码为:


<iframe src="http://www.xxx.com/"></iframe>

就OK了。

揭示:IE7中优先执行标注有"!important"形容的样式,IE6不意识!important,采用就近准则,所以IE6的这个代码放在CSS的最后就可能了。

这里的xxx,有很多冤家有疑难,他们问我为什么取"xxx",我这样答复——这个xxx是轻易取的,只需下面的iframe里的ID属性和CSS里的分歧就行了。同事又要递一块饼我吃,我说饱了哈..嘻嘻..

当然挂马者可能结构这样的代码:


<iframe src="URL"></iframe>

使我的进攻模式失效,不过它得特意去看我的CSS代码里iframe里的前缀v,假设我的v是变化的呢,哈哈,是不是也不管用呢!

小结:以上的方法只是中止了iframe的申请并销毁了它自身,但当前的挂马模式扭转了,例如改成
<script></script>
模式挂,就不能用这种方法来处理了;此这个方法不是最终的处理案,最终的处理计划是找出真正被挂IFRAME的缘由,堵住源头。这可不是我的事哈!