1、中國的開源軟件很多,但同時也給我們帶來了很多安全問題,網站掛馬成發站長最頭痛的事情,在這裡我寫一個檢測網站木馬PHP的小程序讓大家參考。3 Q$ ]% r, P. `8 D, c( y
2 s8 O3 }$ q; \) Q5 T; V5 E3 n& R軟件原理:一般的木馬都是加密的,所謂的加密反而讓我們檢測帶來了方便,PHP木馬的最明顯特徵是使用了 eval 與 base64_decode 這函數,這樣就很好去檢測了,當然有些CMS的正常文件也可能出現這東西,區別是CMS的文件打開是正常一行一行的,而木馬通常是:* Y; E1 |7 w1 h* L
' ?9 O) S2 H0 i; t( n$ a1 \; ~0 Neval(base64_decode(..............));+ R% @5 x @+ a
# l$ i% t7 t3 m# Y: m" b0 X. X' n?>( J, d+ k( ^+ r& e& W
- U; p9 p- I* L. \# Z# T; {2 n
這樣的代碼,而且基本都是如此,下面是檢測程序:; O6 K$ j6 j4 H8 K5 W+ g
8 h! x1 N: b. B
function parAllFiles($d). ]: |' o6 i% ^0 g$ |
6 ]6 T6 m- T7 J' G: G
{
; o, ?" C4 E( u' e& N5 p" [9 C% M5 c( c
$dh = dir($d);1 q7 t8 m+ k3 m, j
+ h, q3 o4 t1 o7 w: i
while($filename = $dh->read() )0 E5 r) {+ A \9 Y4 g+ i! w( Z
* l0 S$ P" \9 a! b5 f
{
' s5 X) ]' g6 @/ C
& q. |6 d$ ^+ ^if($filename=='.' || $filename=='..') continue;
5 d3 ] o' @4 d: e" P: n7 i5 E) } H5 k
$tfile = $d.'/'.$filename;1 X& q' C2 `, r* |) ^9 M; ?
5 v8 |- t; x3 ?7 j
if(is_dir($tfile))) ~& t" K: A# f& _% ^3 T9 z
; H1 U5 [/ v+ _* D4 Q# [
{
; V3 l# S$ _1 {7 M$ U. J
! x: h. B" M3 f, C//echo "檢查到: $tfile
- {/ h6 V5 _4 l5 Q9 W: m";
) T/ L" |. x3 j8 n- g2 Z8 r; {* w7 _3 G! q/ _7 K9 K
parAllFiles($tfile); f( N8 R) l5 D! W5 l2 V8 r
/ [3 q6 q; S7 T! F1 C}+ F9 H. o" M1 ~& v
5 A) V) o1 p, L$ t6 W xelse$ ] s: P- d; W" b) K/ ]
5 m: ? ^5 U' @$ _: y' W4 r
{7 X, U1 I1 S0 k1 g
6 u( [2 |/ A) _3 a! `# q! W
if(!ereg("\.php", $tfile)) continue;
, U" r% \3 {, O7 E" G6 {2 S6 q/ W& q) x$ H
$bd = file_get_contents($tfile);
5 e' ]! _( K F k- t* B4 h0 W
- Z" M/ S1 K* n+ Wif(eregi("eval\(", $bd))
9 H1 e- a: I) a- Q) h4 Z
* g: t( t8 O4 P" v! g( a{& C8 H- ]2 o: t) @" K
$ {& i& O( @# b) {1 d( K
echo "$tfile
% q/ `: S8 s% h. }\r\n";
+ e& F0 t4 F7 c, a9 v5 L. o( y c0 Y2 A4 o+ \6 {
}
5 Z3 k! l; H( }* U
( d2 O, m |1 ~# c}
4 r! L, Z3 X) l# J0 P' S2 h# E2 ^( U n
% V9 z+ F8 P. i5 K- w9 @/ \}- B# B* u F& w) c3 A, c. A8 k
! H4 `* T1 T% X3 u( i _
}
. |! J( |. W- B1 v1 X+ I3 W/ h- ?
parAllFiles(dirname(__FILE__));
/ h n; c! f$ ~7 @# H! m# i- [- X1 A4 B! `! t/ l( v
?>7 {9 D P5 e- V
1 e% X( _! A C( t$ h- \- `% j
使用這個檢測程序會把所有帶eval的文件作為可疑文件,打開來看一下,如果代碼像前者那樣的,肯定是木馬了。
3 {' e$ P/ C0 Z) |
/ o) C9 o- ~* B對於有使用服務器的用戶,記住設置網站權限的一個原則:存放HTML、附件的文件不給予執行腳本權限,執行腳本的文件夾不給予寫入的權限。& x6 [/ Z' B! x6 c ~& @
+ {5 D* S9 I$ B/ Z9 G
2、MySQL提權漏洞的處理
/ D' M# a3 k! Q' N( u- T3 W, w; G* K# U8 J1 Z# ^% S% I7 @
MySQL提權漏洞在windows服務器幾乎是致命的,如果你把WEB木馬都清理後,發現黑客還能掛馬,很可能是這個問題所致的,這要作下面幾方面處理:$ ^3 S3 I5 U; R$ m9 X
$ D8 [3 B: W( ?6 h+ t0 e: ^" P5 ?
(1) 網站的用戶千萬不要用root用戶,如果建立一個沒權限的用戶,然後指定它有操作某數據庫的權限;2 f' T9 A" l; P; h+ |: m W# ^+ \
# |) Y8 v1 V% N5 C1 y5 |
(2) 檢查網站或windows文件,看是否有 udf.dll 或 xudf.dll (x通常是數字1、2、3等),如果有,說明你的服務器已經中招了,這種木馬是致命的,清除方法是先用net stop mysql停止Mysql,然後刪除這些dll文件,然後用 net start mysql 重新啟動mysql。% } J0 H4 U6 Z% X) o
( I/ _' y6 v# U& d! r1 N
(目前在phpcms2008、php168最新版都已經發現可能實現mysql提權的致命漏洞,建議做新站的盡量用dedecmsV5.3或Ecms V5.1) |
評分
-
查看全部評分
|