网站被挂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 src=" ">http://www.ssguo.com/">>

保存为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 id="xxx" name="xxx" src="">http://www.xxx.com/">>

就OK了。

提示:IE7中优先执行标注有"!important"描述的样式,IE6不认识!important,采用就近原则,所以IE6的这个代码放在CSS的最后就可以了。

这里的xxx,有很多朋友有疑问,他们问我为什么取"xxx",我这样回答——这个xxx是随意取的,只要下面的iframe里的ID属性和CSS里的一致就行了。同事又要递一块饼我吃,我说饱了哈..嘻嘻..

当然挂马者可以构造这样的代码:

<iframe style="v:e­xpression() !important" src="URL"></iframe>

使我的防御方式失效,不过它得特意去看我的CSS代码里iframe里的前缀v,如果我的v是变化的呢,哈哈,是不是也不管用呢!

小结:以上的方法只是停止了iframe的请求并销毁了它本身,但以后的挂马方式改变了,例如改成

<script></script>
方式挂,就不能用这种方法来解决了;此这个方法不是最终的解决案,最终的解决方案是找出真正被挂IFRAME的原因,堵住源头。这可不是我的事哈!

 

时间: 2024-10-26 15:36:23

网站被挂iframe木马的解决方案的相关文章

用JS解决网站防挂iframe木马的方案

最近公司和好朋友的网站纷纷被IFRAME了,有的挂上了鸽子,有的疯狂地弹窗,有的给人家增加流量.一个个文件去查找替换那些IFRAME代码,刚松口气,不久又加上去了.于是他们向我这个"JS高手"求救,我也不能等闲视之,只好击键杀杀杀了. 因为FF(Firefox)不怕IFRAME,于是就拿IE开刀.我只写了一句代码,就搞定了.就是IE 特有的的CSS中的属性expression,插进去试试,果然那些IFRAME不起作用了. <style type="text/css&qu

一行代码解决网站防挂IFRAME木马方案,小鸽子序列(灵儿)_应用技巧

最近公司和好朋友的网站纷纷被IFRAME了,有的挂上了鸽子,有的疯狂地弹窗,有的给人家增加流量.一个个文件去查找替换那些IFRAME代码,刚松口气,不久又加上去了,哎,什么世道!于是他们向我这个"JS高手"(他们强加给我的)求救,我也不能等闲视之,只好击键杀杀杀了. 因为FF(Firefox)不怕IFRAME,于是就拿IE开刀,不知道比尔有没有奖发.我只写了一句代码,就搞定了,哈,痛快.就是IE only(特有的)的CSS中的属性expression,插进去试试,果然那些IFRAME不

解读网站被挂其中木马分析js+eval实现_病毒查杀

在FF看到这消息.. 于是就把网页解开了.. 原来是"老朋友"刺客集团 .. 已经多次和这个集团生成的网马打交道了.. 其中挂上一个木马 hxxp://www.es86.com/pic/ddb/2006692151148920.gif 就此做个分析吧.. 运行样本. 释放文件 C:\win30.exe 调用cmd 运行命令 /c net stop sharedaccess 访问网站 61.129.102.79 地址应该是:hxxp://www.es86.com 80端口通讯 下载:hx

网站被挂马-网站被挂&amp;amp;lt;iframe&amp;amp;gt;连接如何处理

问题描述 网站被挂<iframe>连接如何处理 网站被挂马但联通线路访问不显示 而电信线路访问会在页面源码中出现网站源码也看不到 如何处理?? 解决方案 谢谢大家的回复 刚才跟idc联系 她们说还有其他客户也有反映类似问题 而且被挂木马地址都一样 是不是ide被黑了??? 解决方案二: 检查你全站倒入的js文件,应该是js文件被修改了,然后输出一些script内容判断线路,网通就不输出iframe,电信则显示 建议你只有上传文件夹给写入权限,其他的全部关闭写入权限,你自己的服务器要做安全配置,

服务器-网站被挂马了,搜遍所有js、php文件,找不到木马文件,可咋整?

问题描述 网站被挂马了,搜遍所有js.php文件,找不到木马文件,可咋整? 已经确定网站被挂马了,用户访问会自动弹出QQ中奖信息 但木马好像会判断ip段,站长这边没有任何现象,用户有反映,有山东.江苏.上海.广东的用户都有反馈 进入服务器,也没有发现文件又被改动的痕迹,没有入侵的痕迹 仔细查看网页包含的js文件,没有发现异常 php文件也没有发现异常 解决方案 如果js和php中未发现木马文件,同时后台有数据库支持,应该检查数据库记录内容,可尝试使用"护卫神"挂马清理工具:http:/

php网站被挂木马后的修复方法总结_php技巧

本文实例总结了php网站被挂木马后的修复方法.分享给大家供大家参考.具体方法如下: 在linux中我们可以使用命令来搜查木马文件,到代码安装目录执行下面命令 复制代码 代码如下: find ./ -iname "*.php" | xargs grep -H -n "eval(base64_decode" 搜出来接近100条结果,这个结果列表很重要,木马都在里面,要一个一个文件打开验证是否是木马,如果是,马上删除掉 最后找到10个木马文件,存放在各种目录,都是php

seo该如何防止网站被挂木马?

seo该如何防止网站被挂木马?! 自从做站以来,网站被挂了两次木马,不仅让自己的工作流增加了很多,也给网站的流量增长带来了瓶颈,经济方面有很多损失!所幸的是给自己增添了很多网站安全的意识以及防止被挂马的知识! 所以要想在SEO的战场上获胜,防止网站被挂马,要放在第一位!安全第一嘛,人是,网站更是! 经常有人会问:我的网站被莫名的挂上木马,怎么能有效的预防网站被挂马? 这个问题需要分具体情况来具体分析: 一.如果是自己的服务器. 因为你只需要远程登录,就可以管理整个服务器,权限比较大,所以你可以把

网站被挂马 站长应如何解决

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 网站从创建到现在已经有1年多了,一直运行正常,访问也很稳定,直到昨天一个朋友告诉我说我的网站被挂马了,当时我一听网站挂马我就懵了,不知所措,以前我真的没遇到过,也不知道什么是挂马,在网上搜索了整整3天,终于把网站被挂马给摸透了,我猜很多像我第一次遇到网站被挂马的站长一定也很头疼,不要疼,还有我呢,下面我就给大家谈谈我是怎么解决网站被挂马的!

如何有效防止网站被挂马

1 如果使用CMS做站,后台地址一定要改,不要用这个文件夹做你的后台,有些朋友竟然不知道这个后台文件夹可以改名 2 .后台最好加上验证码,虽然麻烦了点,但是可以避免不少的小黑客用社会工程学来破解你的网站(我就试过,很多朋友的密码常常是手机号,域名,qq等等) 3.如果给自己的网站增加了字段(比如要求用户申请时输入生日等等)要过滤,别自己的问题推到了DEDE的头上.(建议有一定PHP技术的朋友去修改,为达到功能不是简单的在前台增加表单后台增加发布表单然后增加数据库字段这么简单,要防止XSS攻击就要