打印

[分享]一行代码解决网站防挂IFRAME木马方案,小鸽子序列(灵儿)

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

代码如下:

<style type="text/css" media="all" id="http://nihaoku.cn">
/*<![CDATA[*/
iframe{
       v:expression(this.src='about:blank',this.outerHTML='');/*使用IE Only 的样式会除所有 IFRAME */
}
#f126{v:expression() !important} //如果要使自己的IFRAME可以执行,在自己的IFRAME里加上ID="f126";
/*]]>*/
</style>


分析:
前缀:expression(表达式);

  这个前缀是可以随意更换的,我上面取名为"v",例如我可以换成:abc123:expression(this.src='about:blank',this.outerHTML=''); 挂木马的家伙得先看你的CSS里这个前缀,然后挂马的时候写成这样<iframe style="abc123:expression() !important" src="URL"></iframe>,那个前缀一定要是和你的网站一样的(abc123),才能挂到马,哈哈哈!如果把前缀做成动态的,就非常OK了,看你怎么挂!

优点:

  • 可以解决一些站长的烦恼,无须去理会人家插了多少IFRAME木马,那些IFRAME都不起作用;
  • 保护了访客的安全,这些IFRAME不执行,不下载,就不会破坏到访问的电脑;
  • 代码简单,仅一句CSS样式,不管你是ASP,ASP.NET,JSP,PHP还是RUBY,都通用;

缺点:

  • 只适合防御目前的挂IFRAME方案;
  • 使得人家挂马的方式要改变了,挂马者可以构造这样的代码<iframe style="v:expression() !important" src="URL"></iframe>使我的防御方式失效,不过挂马都一定得看我的CSS里expression前面的这个"v"字母,我可以换成任意的如:xgz:expression(...),哈哈哈,他也拿我没办法,再如,如果我这个前缀是变化的,是不是也行吖 *_*

  • 不能防御其他标记的马,如<script>、<applet>、<object>等。
    到那时候再来找我吧,呵呵~ 网页里插入的IFRAME还是存在,只是不起作用了;

  
  代码拿出来分享一下吧!详细请进:http://www.nihaoku.cn/temp/noiframe.html

  不过我这个方法不是最终的解决案,最终的解决方案是找出真正被挂IFRAME的原因,堵住源头。这可不是我的事,呵~

[ 本帖最后由 vickeychen 于 2007-8-29 10:09 编辑 ]
nihaoku.cn 心情音乐
window.onload=killfrm;//一边加载页面,一边执行这个JS方法;


頁面加載完了調用函數,自然別人的病毒頁也加載了,再移除,為時已晚。
个人签名 (60 字节以内)
不支持自定义 Discuz! 代码

二楼不知情,发言不准确

大哥,你有没有看我的说明吖,这是“再加固防线,加入以下JS代码——其实这个代码可以完全不用:”,我当然是考虑过了的啦,自己去缓存里看清楚的再来评伦我的文章吧!
nihaoku.cn 心情音乐
我说的就是你这“固防线”,本身没什么作用。

当然STYLE在IE中那是是可行的。
个人签名 (60 字节以内)
不支持自定义 Discuz! 代码

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!
#f126的IFRMAE可以被加载~~~那弄个ARP欺骗,在文件头部插个id为f126的IFRAME,是不是就突破你的防线了?
.

TOP

已有新方案推出,以上方法只适合防御目前的IFRAME挂马模式

  感谢各位参与讨论!有各位的建议我将逐步完善我的方案。

  
引用:
#f126的IFRMAE可以被加载~~~那弄个ARP欺骗,在文件头部插个id为f126的IFRAME,是不是就突破你的防线了?
  我说过了:人家看了我的东东,就知道挂IFRAME马的方式要变了,我还说了,如果变了,得想其他办法。yanhongzhao你所说的就是挂IFRAME的方式有所变化。包括,挂马者可以构造这样的代码<iframe style="v:expression() !important" src="URL"></iframe>使我的防御方式失效,不过前提是他一定要知道我的前缀使用的是v,我可以做成变化的,用JS写出,哈哈

  不过可喜的是,现在又有新方案推出,以上方法只适合防御目前的IFRAME挂马模式——至少让那些挂马的人得改一下他们的方案了。

  昨晚有新的研究成果出来了,不过目前还在测试中,非常OK,昨晚的研究成果是可以防止任何ARP欺骗加入的任何代码以及被挂的任意不属于那个页面的代码——不只是IFRAME代码。代码暂不公布。经过严格的抓包测试,发现非常可行。继续关注!哈哈哈。

[ 本帖最后由 vickeychen 于 2007-8-29 10:18 编辑 ]
nihaoku.cn 心情音乐

TOP

貌似我要关注一下...

TOP

期待公布代码,只用JS来防范ARP的代码,真的很想看看,加油
.

TOP

新手提问,被挂马根源在哪?是不是程序上有漏洞?

TOP

真有此事?
等着看
还没想好;先不签了

TOP

回复 #8 yanhongzhao 的帖子

一般都是图片上传组件有漏洞,强行拦截数据,再注入伪装成图片的木马程序。就可以了。

TOP

唉......偶是菜鸟,都不知所云.........

TOP

都给在程序源码上IFRAME了,这些东东能顶事吗
www.edusms.cn
QQ:35792664
五百一个:www.zbhq.com
一千一个:www.yinheit.net (含之后的技术支持与应用指导)

TOP

如果得到WEBSHELL,可以随时修改源文件,这东西还有用吗?

TOP

楼主说得这么神密...拿出的代码就可以知道了..

TOP

关注一下 期待发布代码

TOP

期待中 请勿打扰 只等楼主发代码

TOP