过期域名预定抢注

 找回密碼
 免费注册

網站木馬檢測小程序與常見木馬清除方法 轉

[複製鏈接]
發表於 2009-3-20 14:35:08 | 顯示全部樓層 |閱讀模式
1、中國的開源軟件很多,但同時也給我們帶來了很多安全問題,網站掛馬成發站長最頭痛的事情,在這裡我寫一個檢測網站木馬PHP的小程序讓大家參考。
  {2 v% K, }4 Y; Z8 x  t: _
! \. ^, J" ~8 Y8 W% z( E+ \軟件原理:一般的木馬都是加密的,所謂的加密反而讓我們檢測帶來了方便,PHP木馬的最明顯特徵是使用了 eval 與 base64_decode 這函數,這樣就很好去檢測了,當然有些CMS的正常文件也可能出現這東西,區別是CMS的文件打開是正常一行一行的,而木馬通常是:
5 d: ?- k2 g+ D7 i1 n, N$ F
& E$ a) M( U* v/ [6 d4 weval(base64_decode(..............));
' s0 d3 r. ?+ X( {/ V
0 `+ L& x  h# _7 Y  D$ d% ~?>* \! ]* q* d. T1 D. q% a
& F7 P' G3 U$ v2 W/ k3 a0 K7 x  }
這樣的代碼,而且基本都是如此,下面是檢測程序:
; M  D/ }8 M: i6 Z; }# ?  U% ~: {
1 K* q" P1 @  s2 a- afunction parAllFiles($d)
& |% d) z. R. ?, I
# u8 O; ]2 L6 ?9 @* N{
* H+ q' W! ]8 N5 O% m6 c9 t! E4 Y# j8 R3 r4 P" [
$dh = dir($d);- X, o( m- x& @* o

- d( `6 Q2 `; f+ J1 fwhile($filename = $dh->read() )5 f$ D* N. [. X! Q
% w* n' Y1 Q- P2 W5 W" m
{
' |* U+ g8 k% A. B% ~- X! w# T7 u3 ]9 Y
if($filename=='.' || $filename=='..') continue;
# L0 N# \6 z: p1 M2 j2 j1 Z
4 Z) Q* X$ @4 b) s$tfile = $d.'/'.$filename;
- w  R5 y* i7 }6 n5 |/ i) \6 p
. \0 E! @% T0 w& {5 n0 Mif(is_dir($tfile))
4 N. r' y" Q  N* o8 }* q; j. w1 ?' `  f: `4 s* V$ ?- F- g
{
! j4 K# F( S7 I. v* f, M( d0 Q
& w$ H8 |' b1 s5 r2 L% V//echo "檢查到: $tfile
3 S7 m' b+ t! {  @";9 l% `6 ?; b' b$ f( n- y" b

% t4 [- I1 R. Y5 D7 m- I8 yparAllFiles($tfile);9 W% k7 ^' w" M: P7 t

# b6 H, p1 _( e9 c. F}& Q: m7 X; \7 |* E

* B* L" r3 l) a1 B2 Uelse
  v+ r, {8 G  }( W& c
. S6 Q! _8 J  t9 }; e. D{* [2 O7 n. }* Y* z- Q9 k
* H7 s# r9 S' g$ r6 J& P( U
if(!ereg("\.php", $tfile)) continue;4 s9 C3 l( n- @0 B- V
3 F0 i% y+ s" e4 a; q
$bd = file_get_contents($tfile);7 A4 _  ?! C0 M, y
. n" p  ~& W' k
if(eregi("eval\(", $bd))
0 }( J7 A% N* g! ^( m
$ k  H) a* j9 Q2 V{7 G. k. u9 I7 ]8 `: R7 A
. ^4 `1 o8 K) t
echo "$tfile  M6 z& B2 U1 F9 Z
\r\n";
* i. f3 k/ `( ^2 k
& b  a0 W$ _* S- h}7 ?0 w' U* P4 G# z
, [# W( X# f9 r6 f2 h2 N4 f
}, b/ x  n1 ~( ]' s7 J5 {

( O9 [+ B+ Y  D  S6 ~4 ~}: z$ E; N' b% k% o/ a" @4 b8 O; Y6 _

7 @" O& `- V) Y( }6 T}  @$ l9 I. g0 C+ A/ z8 p  x9 H5 {
  b. T% I& E& Q2 z' v, T
parAllFiles(dirname(__FILE__));  K. P- Q8 C5 N4 W; z( i

3 P$ ^) w2 ^6 h% r+ X( p8 d8 m?>0 G6 C: @1 e4 r% }) s5 E2 c
# L6 @0 B  X9 g+ g
使用這個檢測程序會把所有帶eval的文件作為可疑文件,打開來看一下,如果代碼像前者那樣的,肯定是木馬了。. j* Y% U, U% S, g" S
' t/ u6 M& z. e7 B, X
對於有使用服務器的用戶,記住設置網站權限的一個原則:存放HTML、附件的文件不給予執行腳本權限,執行腳本的文件夾不給予寫入的權限。" N4 V: u# p! y# u

; P* E4 r6 p! f2、MySQL提權漏洞的處理& ]5 R( ?, f) |( F$ F( o6 z2 S5 G
  P8 X# J2 B& X) D
MySQL提權漏洞在windows服務器幾乎是致命的,如果你把WEB木馬都清理後,發現黑客還能掛馬,很可能是這個問題所致的,這要作下面幾方面處理:
, s4 c0 W8 d! ~; i1 c' i( `2 n& J0 u. ~* c+ E
(1) 網站的用戶千萬不要用root用戶,如果建立一個沒權限的用戶,然後指定它有操作某數據庫的權限;+ D) A1 b8 M, W: G1 Q
4 g9 Z( [( p) k3 e8 U
(2) 檢查網站或windows文件,看是否有 udf.dll 或 xudf.dll (x通常是數字1、2、3等),如果有,說明你的服務器已經中招了,這種木馬是致命的,清除方法是先用net stop mysql停止Mysql,然後刪除這些dll文件,然後用 net start mysql 重新啟動mysql。
6 \( n4 p4 C: P0 i
( v, n4 Q: H/ K" ~  P$ `! H(目前在phpcms2008、php168最新版都已經發現可能實現mysql提權的致命漏洞,建議做新站的盡量用dedecmsV5.3或Ecms V5.1)

評分

參與人數 1 +2 收起 理由
nod32 + 2

查看全部評分

您需要登錄後才可以回帖 登錄 | 免费注册

本版積分規則

过期高净值品牌域名预定抢注

點基跨境 數位編輯創業論壇

GMT+8, 2025-5-5 22:00

By DZ X3.5

小黑屋

快速回復 返回頂部 返回列表