简要描述:
后台注入,但是要登录.............
详细说明:
upload/admin/agency.php 48行开始
code 区域
elseif ($_REQUEST['act'] == 'query') { $agency_list = get_agencylist(); //跟踪这个函数 $smarty->assign('agency_list', $agency_list['agency']); $smarty->assign('filter', $agency_list['filter']); $smarty->assign('record_count', $agency_list['record_count']); $smarty->assign('page_count', $agency_list['page_count']); /* 排序标记 */ $sort_flag = sort_flag($agency_list['filter']); $smarty->assign($sort_flag['tag'], $sort_flag['img']); make_json_result($smarty->fetch('agency_list.htm'), '', array('filter' => $agency_list['filter'], 'page_count' => $agency_list['page_count'])); }
get_agencylist()函数代码如下
code 区域
function get_agencylist() { $result = get_filter();//当$result为false时才能够实现。 if ($result === false) { /* 初始化分页参数 */ $filter = array(); $filter['sort_by'] = empty($_REQUEST['sort_by']) ? 'agency_id' : trim($_REQUEST['sort_by']);//未过滤 $filter['sort_order'] = empty($_REQUEST['sort_order']) ? 'DESC' : trim($_REQUEST['sort_order']);//未过滤 /* 查询记录总数,计算分页数 */ $sql = "SELECT COUNT(*) FROM " . $GLOBALS['ecs']->table('agency'); $filter['record_count'] = $GLOBALS['db']->getOne($sql); $filter = page_and_size($filter); /* 查询记录 */ $sql = "SELECT * FROM " . $GLOBALS['ecs']->table('agency') . " ORDER BY $filter[sort_by] $filter[sort_order]";//代入查询。 set_filter($filter, $sql); } else { $sql = $result['sql']; $filter = $result['filter']; } $res = $GLOBALS['db']->selectLimit($sql, $filter['page_size'], $filter['start']);//带入查询函数 $arr = array(); while ($rows = $GLOBALS['db']->fetchRow($res)) { $arr[] = $rows; } return array('agency' => $arr, 'filter' => $filter, 'page_count' => $filter['page_count'], 'record_count' => $filter['record_count']); }
get_filter()代码如下//传参是为空所以返回false
code 区域
function get_filter($param_str = '') { $filterfile = basename(PHP_SELF, '.php'); if ($param_str) { $filterfile .= $param_str; } if (isset($_GET['uselastfilter']) && isset($_COOKIE['ECSCP']['lastfilterfile']) && $_COOKIE['ECSCP']['lastfilterfile'] == sprintf('%X', crc32($filterfile))) { return array( 'filter' => unserialize(urldecode($_COOKIE['ECSCP']['lastfilter'])), 'sql' => base64_decode($_COOKIE['ECSCP']['lastfiltersql']) ); } else { return false; } }
漏洞证明:
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论