ecshop /api/client/api.php、/api/client/includes/lib_api.php SQL Injection Vul

catalog

1. 漏洞描述
2. 漏洞触发条件
3. 漏洞影响范围
4. 漏洞代码分析
5. 防御方法
6. 攻防思考

1. 漏洞描述

ECShop存在一个盲注漏洞,问题存在于/api/client/api.php文件中,提交特制的恶意POST请求可进行SQL注入攻击,可获得敏感信息或操作数据库

http://sebug.net/vuldb/ssvid-21007

2. 漏洞触发条件

1. /api/client/api.php存在未过滤漏洞
2. 服务器magic_quote_gpc = off
//magic_quote_gpc特性已自 PHP 5.3.0 起废弃并将自 PHP 5.4.0 起移除,即默认情况下,magic_quote_gpc = Off

0x1: POC

http://localhost/ecshop2.7.2/api/client/api.php?Action=UserLogin
POST: UserId=%27%20or%20user_id=1%23

Relevant Link:

http://php.net/manual/zh/info.configuration.php

3. 漏洞影响范围
4. 漏洞代码分析

/api/client/api.php

<?php

define(‘IN_ECS‘, true);

include_once ‘./includes/init.php‘;

//分发处理POST数据
dispatch($_POST);
?>

/api/client/includes/lib_api.php

function dispatch($post)
{
    // 分发器数组
    $func_arr = array(‘GetDomain‘, ‘UserLogin‘, ‘AddCategory‘, ‘AddBrand‘, ‘AddGoods‘, ‘GetCategory‘, ‘GetBrand‘, ‘GetGoods‘, ‘DeleteBrand‘, ‘DeleteCategory‘, ‘DeleteGoods‘, ‘EditBrand‘, ‘EditCategory‘, ‘EditGoods‘);
    //当$_POST[‘Action‘] == ‘UserLogin‘的时候调用API_UserLogin
    if(in_array($post[‘Action‘], $func_arr) && function_exists(‘API_‘.$post[‘Action‘]))
    {
        return call_user_func(‘API_‘.$post[‘Action‘], $post);
    }
    else
    {
        API_Error();
    }
}

/api/client/includes/lib_api.php

function API_UserLogin($post)
{
    $post[‘username‘] = isset($post[‘UserId‘]) ? trim($post[‘UserId‘]) : ‘‘;
    $post[‘password‘] = isset($post[‘Password‘]) ? strtolower(trim($post[‘Password‘])) : ‘‘;

    /* 检查密码是否正确 */
    //$post[‘username‘]未进行过滤,造成盲注漏洞,参数是直接从原始$_POST获取的,未进行任何预处理,不受内核过滤影响
    $sql = "SELECT user_id, user_name, password, action_list, last_login".
    " FROM " . $GLOBALS[‘ecs‘]->table(‘admin_user‘) .
    " WHERE user_name = ‘" . $post[‘username‘]. "‘";

    $row = $GLOBALS[‘db‘]->getRow($sql);
    ..

Relevant Link:

http://www.wooyun.org/bugs/wooyun-2010-02969

5. 防御方法

/api/client/includes/lib_api.php

function API_UserLogin($post)
{
    /* SQL注入过滤 */
    if (get_magic_quotes_gpc())
    {
        $post[‘UserId‘] = $post[‘UserId‘]
    }
    else
    {
        $post[‘UserId‘] = addslashes($post[‘UserId‘]);
    }
    /* */
    $post[‘username‘] = isset($post[‘UserId‘]) ? trim($post[‘UserId‘]) : ‘‘;
    ..

Relevant Link:

http://www.topit.cn/ecshop-tutorial/ecshop_mangzhu_bug_for_ecshop_v2.7.2-195.html

6. 攻防思考

Copyright (c) 2015 LittleHann All rights reserved

时间: 2024-10-13 02:17:50

ecshop /api/client/api.php、/api/client/includes/lib_api.php SQL Injection Vul的相关文章

ecshop /pick_out.php SQL Injection Vul By Local Variable Overriding

catalog 1. 漏洞描述 2. 漏洞触发条件 3. 漏洞影响范围 4. 漏洞代码分析 5. 防御方法 6. 攻防思考 1. 漏洞描述 在进行输入变量本地模拟注册的时候,没有进行有效的GPC模拟过滤处理,导出key键注入 Relevant Link: http://bbs.ecshop.com/thread-150545-1-1.html 2. 漏洞触发条件 1. /pick_out.php漏洞未修复 2. magic_quotes_gpc = Off 0x1: POC #!/usr/bin

ecshop /search.php SQL Injection Vul

catalog 1. 漏洞描述 2. 漏洞触发条件 3. 漏洞影响范围 4. 漏洞代码分析 5. 防御方法 6. 攻防思考 1. 漏洞描述 ECSHOP商城系统Search.php页面过滤不严导致SQL注入漏洞 Relevant Link: http://sebug.net/vuldb/ssvid-62317 2. 漏洞触发条件 0x1: POC <?php ini_set("max_execution_time",0); error_reporting(7); function

ecshop /includes/modules/payment/alipay.php SQL Injection Vul

catalog 1. 漏洞描述 2. 漏洞触发条件 3. 漏洞影响范围 4. 漏洞代码分析 5. 防御方法 6. 攻防思考 1. 漏洞描述 ECSHOP支付插件存在SQL注入漏洞,此漏洞存在于/includes/modules/payment/alipay.php文件中,该文件是ECshop的支付宝插件.由于ECShop使用了str_replace函数做字符串替换,黑客可绕过单引号限制构造SQL注入语句.只要开启支付宝支付插件就能利用该漏洞获取网站数据,且不需要注册登入.GBK与UTF-8版本E

ecshop /flow.php SQL Injection Vul

catalog 1. 漏洞描述 2. 漏洞触发条件 3. 漏洞影响范围 4. 漏洞代码分析 5. 防御方法 6. 攻防思考 1. 漏洞描述 ECSHOP的配送地址页面网页没有验证地区参数的有效性,存在sql注入漏洞,攻击者可利用火狐tamper data等插件修改提交到配送地址页面的post数据,造成未授权的数据库操作甚至执行任意代码 Relevant Link: http://sebug.net/vuldb/ssvid-60554 2. 漏洞触发条件 1. 先注册账户,随便选个商品进购物车,然

ecshop /category.php SQL Injection Vul

catalog 1. 漏洞描述 2. 漏洞触发条件 3. 漏洞影响范围 4. 漏洞代码分析 5. 防御方法 6. 攻防思考 1. 漏洞描述 Relevant Link: http://sebug.net/vuldb/ssvid-19574 2. 漏洞触发条件 0x1: POC http://localhost/ecshop2.7.2/category.php?page=1&sort=goods_id&order=ASC%23goods_list&category=1&dis

dedecms /plus/feedback_ajax.php、/templets/feedback_main.htm、/templets/feedback_edit.htm XSS &amp;&amp; SQL Injection Vul

catalog 1. 漏洞描述 2. 漏洞触发条件 3. 漏洞影响范围 4. 漏洞代码分析 5. 防御方法 6. 攻防思考 1. 漏洞描述 通过该漏洞可以注入恶意代码到评论标题里,网站管理员在后台管理用户评论时触发恶意代码,直接危及到网站服务器安全 Relevant Link: http://skyhome.cn/dedecms/367.html http://www.soushaa.com/dedecms/dede_11533.html 2. 漏洞触发条件3. 漏洞影响范围4. 漏洞代码分析

ECSHOP /api/client/includes/lib_api.php

ecshop /api/client/api.php./api/client/includes/lib_api.php ECShop存在一个盲注漏洞,问题存在于/api/client/api.php文件中,提交特制的恶意POST请求可进行SQL注入攻击,可获得敏感信息或操作数据库. 参照以下修改: function API_UserLogin($post) { /* SQL注入过滤 */ if (get_magic_quotes_gpc()) { $post['UserId'] = $post[

hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档

相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclipse-plugin-2.5.0插件下载hadoop2.5.1汇总:最新编译 32位.64位安装.源码包.API下载及新特性等 新手指导:hadoop官网介绍及如何下载hadoop(2.4)各个版本与查看hadoop API介绍 从零教你在Linux环境下(ubuntu 12.04)如何编译hadoo

FastDFS安装、配置、API使用(一)-安装和部署

FastDFS是一个开源的,高性能的的分布式文件系统,他主要的功能包括:文件存储,同步和访问,设计基于高可用和负载均衡,FastDFS非常适用于基于文件服务的站点,例如图片分享和视频分享网站 FastDFS有两个角色:跟踪服务(tracker)和存储服务(storage),跟踪服务控制,调度文件以负载均衡的方式访问:存储服务包括:文件存储,文件同步,提供文件访问接口,同时以key value的方式管理文件的元数据 跟踪和存储服务可以由1台或者多台服务器组成,同时可以动态的添加,删除跟踪和存储服务