1、中國的開源軟件很多,但同時也給我們帶來了很多安全問題,網站掛馬成發站長最頭痛的事情,在這裡我寫一個檢測網站木馬PHP的小程序讓大家參考。4 p( R+ C' _5 V; ]3 [6 Y- C
7 X U0 W" d2 G: G
軟件原理:一般的木馬都是加密的,所謂的加密反而讓我們檢測帶來了方便,PHP木馬的最明顯特徵是使用了 eval 與 base64_decode 這函數,這樣就很好去檢測了,當然有些CMS的正常文件也可能出現這東西,區別是CMS的文件打開是正常一行一行的,而木馬通常是:
0 U' b9 o2 ?' S8 B M, a
3 z/ |/ l J" e: P: v% heval(base64_decode(..............));+ j+ Z1 K; L& f$ y
p) u. X; e& E8 F
?>
/ p( [5 Z9 H9 Y& |
; y0 h5 |! K3 ?, r這樣的代碼,而且基本都是如此,下面是檢測程序:
" D* F+ A: d3 y- `5 K* Q$ |+ E6 g s: ~* Q
function parAllFiles($d)
$ A+ `6 Q! X* i) j4 J9 I3 F3 U' v8 }; Q: z4 b& H9 X8 K3 P
{
" z- j* a/ l. U/ t8 t, b* F1 U# M+ x, t
$dh = dir($d);
5 ?) D% O8 G! t8 e/ I4 ]
# G% z7 i. b% v1 \7 A5 N" z: E5 Cwhile($filename = $dh->read() )( H% a4 @9 f, E3 M
5 b5 S8 }, N5 R. v) ^8 D+ g# x' x2 e3 u{/ ^1 p8 m& C4 k" M+ j" I0 H7 C
) |) |- {7 @6 y& G- kif($filename=='.' || $filename=='..') continue;3 a% L# z& Y; J% V/ }0 Z
( G- R5 g" G+ j3 y) O$tfile = $d.'/'.$filename;
/ s( _% j0 T, ]4 j6 V. E% M2 l3 _
) G6 Z( X1 `0 y n2 _if(is_dir($tfile))
4 ?1 M' H; L8 t$ q# S+ H. p
8 e- a1 h: w- q1 ~5 g) ?/ \* G7 @{
2 D$ O a0 H: ~6 }" H+ i, [6 w
//echo "檢查到: $tfile
; |9 F O5 j) U7 h& m8 J";
2 z+ D2 Z$ O. C0 A0 G6 S5 i/ ]) z6 H7 z* i
parAllFiles($tfile);; |* `- d3 g/ d- T
' a, ~8 x/ Y. G. _: e5 f' }: j; J4 P
}! J9 @% B# y& B
9 D; ~/ j7 P" Y3 p& d% k( ^4 v7 n) l) z6 c
else$ N- X2 V( j; N8 W5 H6 q* u
$ m) x3 X" Y9 \2 F Z+ _% H8 W
{
. A/ y2 ]: P! D9 W4 n" @ f" g- {$ I, {, F$ X; B
if(!ereg("\.php", $tfile)) continue;: j# }/ z" W+ n7 R6 C8 }4 f
6 ~# p6 T, h; y" ~. k$bd = file_get_contents($tfile);" \2 M; G0 v- r' e2 i% _
+ P* i( e7 e9 P5 o9 Z7 Y! T2 ]if(eregi("eval\(", $bd))
z- ?* R: @( I' O. h7 [6 i: K: x! | S2 h! O2 G" V+ y
{
0 G8 y& o0 e9 G9 ^( g6 v8 j. Q6 h
echo "$tfile
) p# G7 ?# t7 }' Y3 M- {3 s3 L2 Y! {\r\n";
% H; [" l1 G P" o: @' G( }5 Q: J# i! g$ Y
}
" X; a6 }5 m: E3 p9 G8 m
% {! s" `% {! _}
. X5 l0 C8 ^, K+ I. y( k0 r" m* n$ Q7 `) U9 J
}; d, {: u6 G- h# r+ h
" o9 \, s! t) s% o6 X! j7 L" W' @}
) I& F3 @5 x- H8 t- O- x+ v- f/ k* ~* c( J0 I: [
parAllFiles(dirname(__FILE__));
5 X- w5 _, ?" t$ G3 l, `$ g4 \ D5 S; n: _, W
?>5 \, w# W8 ^; D* W3 U0 t
5 y- x0 C+ q, t使用這個檢測程序會把所有帶eval的文件作為可疑文件,打開來看一下,如果代碼像前者那樣的,肯定是木馬了。
1 L/ q" T g6 z+ Q" D. f
9 j8 t S6 H0 E1 b4 j+ J對於有使用服務器的用戶,記住設置網站權限的一個原則:存放HTML、附件的文件不給予執行腳本權限,執行腳本的文件夾不給予寫入的權限。9 M: z) s/ B4 S( ^9 D$ C
?3 c' ~3 J. D: i
2、MySQL提權漏洞的處理
! c2 d3 f9 S1 X
1 X& D' g# h+ [. e5 W8 HMySQL提權漏洞在windows服務器幾乎是致命的,如果你把WEB木馬都清理後,發現黑客還能掛馬,很可能是這個問題所致的,這要作下面幾方面處理:* @+ F& B# K6 P, Y; b
. V0 N# M5 G( E& [5 _(1) 網站的用戶千萬不要用root用戶,如果建立一個沒權限的用戶,然後指定它有操作某數據庫的權限;
* ?2 l* z* R$ q) v" [( c
7 I4 l# P( Y7 F5 ]: M: ?4 A/ I(2) 檢查網站或windows文件,看是否有 udf.dll 或 xudf.dll (x通常是數字1、2、3等),如果有,說明你的服務器已經中招了,這種木馬是致命的,清除方法是先用net stop mysql停止Mysql,然後刪除這些dll文件,然後用 net start mysql 重新啟動mysql。% P3 B" C- d9 ?/ |* v
, O" _& }/ d g7 ?! {6 s. \(目前在phpcms2008、php168最新版都已經發現可能實現mysql提權的致命漏洞,建議做新站的盡量用dedecmsV5.3或Ecms V5.1) |
評分
-
查看全部評分
|