1、中國的開源軟件很多,但同時也給我們帶來了很多安全問題,網站掛馬成發站長最頭痛的事情,在這裡我寫一個檢測網站木馬PHP的小程序讓大家參考。% i n) ?- g7 q
7 K: }0 `% l6 K& ?* X; f軟件原理:一般的木馬都是加密的,所謂的加密反而讓我們檢測帶來了方便,PHP木馬的最明顯特徵是使用了 eval 與 base64_decode 這函數,這樣就很好去檢測了,當然有些CMS的正常文件也可能出現這東西,區別是CMS的文件打開是正常一行一行的,而木馬通常是:# y" T6 u6 U- G. r
$ b) Q: y" b& _* Z2 s
eval(base64_decode(..............));$ g- S" T7 O6 Z" G) _- r- g
Y3 C* b+ ~2 s6 E* Q?>
( I- x3 s6 ~0 z8 @8 R1 Y
/ j( N! s4 D6 ?- {這樣的代碼,而且基本都是如此,下面是檢測程序:% t8 ^: X2 c4 F
2 W% A$ [& J0 e. ]function parAllFiles($d)/ g+ g7 n4 c- V
3 l" r9 r2 K1 A{ K6 L4 G) m& ^$ A6 b7 m6 B
# w0 d6 W! I9 E4 @; U$ [# L F
$dh = dir($d);7 N- m6 }3 O/ G' H# k8 M/ p: o
$ Y+ _9 _; X" U) Qwhile($filename = $dh->read() )6 n: F* R( B' ]2 o
" A7 J$ F8 Q+ @
{; b+ K: I+ p+ p9 K) h
& G: [1 g& N% Z% s8 ]/ f# e$ k1 ?
if($filename=='.' || $filename=='..') continue;
) B- J# l+ z* R0 v- M7 v8 F2 g2 o
; O7 }& T5 J/ g* @* E. ?4 \! k$tfile = $d.'/'.$filename;* @+ _* z5 k, i
' O$ `+ L8 L6 i4 [if(is_dir($tfile))( c+ a% t7 v. y; v* @
/ f# l! L0 _8 k% \( n
{6 p5 Y, R; X) }/ |- E
- O# i/ E: W, O# e2 @//echo "檢查到: $tfile$ C2 L# ?7 n4 R1 P5 R) y+ c
";
5 g6 |# _, E0 }( _* J
" w) C1 M: Y* R4 t4 I- ~parAllFiles($tfile);7 n4 u* `$ A+ P$ H. v6 E
9 ~- f5 c. c. B& |3 n/ R} d# a: g3 s2 p B/ d% m$ p
2 ^ ~! F, o' D: q
else
, u' c9 z1 z9 H* \& Q# ~# w1 |# M& l8 y
{/ c6 x* w+ V# {
# {( H+ K. q8 Z9 Z* d! B) }/ ^
if(!ereg("\.php", $tfile)) continue;" F% x7 }3 R% o; K$ m
( Y8 M" t t1 G7 }0 n- o5 P
$bd = file_get_contents($tfile);
: R+ J w5 N3 ^) u4 f" L' E+ `+ Y2 r/ P5 G" `
if(eregi("eval\(", $bd))- f; z3 g# v6 e( U
/ U. _6 K8 c7 q. R2 n9 D6 t: H/ T{
3 Y6 x9 @* c7 `2 u: S+ c9 y2 {
% D' S; f! e% J0 K- {% `' k% Q7 pecho "$tfile
. |. {2 K0 e) G' D* N\r\n";0 `3 q9 x- F, C, R ?& k6 T% t! O- F
( N& `$ N: U$ x! c" L* u: l* C}
$ v: ], U$ [: p0 O2 T; B# g: ^7 R' N: ?5 O0 q6 N$ u
}$ h, r: g( R3 W
. i: T2 z2 M# V3 f" e7 G m5 l
}
4 E' _% D: v* e) u# h
( D( ^3 l- o4 n* ]7 c0 U: b}
6 x# p1 ]# }% P
2 ], ]9 V( L4 _3 OparAllFiles(dirname(__FILE__));: M/ `8 t+ a4 A, B) W+ ?
a' P/ X4 `' [0 `?>8 W8 ]& U" z/ j
+ ]$ r/ e! I) @3 Z5 f使用這個檢測程序會把所有帶eval的文件作為可疑文件,打開來看一下,如果代碼像前者那樣的,肯定是木馬了。7 Z% K6 h/ K! R9 v9 T1 u7 X
, X# G! C1 Q' N& P+ H$ S
對於有使用服務器的用戶,記住設置網站權限的一個原則:存放HTML、附件的文件不給予執行腳本權限,執行腳本的文件夾不給予寫入的權限。9 v4 {4 @) g8 S- l9 N$ t
: t6 i/ H$ O- l7 C+ c2、MySQL提權漏洞的處理
- i7 L) ]: h7 k* W9 V$ {' a
. ^5 A' p6 q0 D1 [/ D8 q LMySQL提權漏洞在windows服務器幾乎是致命的,如果你把WEB木馬都清理後,發現黑客還能掛馬,很可能是這個問題所致的,這要作下面幾方面處理:% L; N% ^# e h! O
$ {7 ~1 b, h& g# S2 ~- I(1) 網站的用戶千萬不要用root用戶,如果建立一個沒權限的用戶,然後指定它有操作某數據庫的權限;/ q+ h( J; Q/ {6 a' y
# d: f4 l, j, d) }
(2) 檢查網站或windows文件,看是否有 udf.dll 或 xudf.dll (x通常是數字1、2、3等),如果有,說明你的服務器已經中招了,這種木馬是致命的,清除方法是先用net stop mysql停止Mysql,然後刪除這些dll文件,然後用 net start mysql 重新啟動mysql。# F2 d1 m4 s+ W0 X) g& V
% z! Y" \0 O% k9 k7 Z' A" j(目前在phpcms2008、php168最新版都已經發現可能實現mysql提權的致命漏洞,建議做新站的盡量用dedecmsV5.3或Ecms V5.1) |
評分
-
查看全部評分
|