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

<?phpdefine('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_UserLoginif(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

转载于:https://www.cnblogs.com/LittleHann/p/4523963.html

ecshop /api/client/api.php、/api/client/includes/lib_api.php SQL Injection Vul相关推荐

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

    catalog 1. 漏洞描述 2. 漏洞触发条件 3. 漏洞影响范围 4. 漏洞代码分析 5. 防御方法 6. 攻防思考 1. 漏洞描述 在进行输入变量本地模拟注册的时候,没有进行有效的GPC模拟过 ...

  2. phpcms /api/phpsso.php SQL Injection Vul

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

  3. Eolink神技之二、API全生命周期管理

    Eolink神技之二.API全生命周期管理 目录 Eolink神技之二.API全生命周期管理 Eolink全API全生命周期管理解决的问题 演示过程 一.创建项目文档 1.1.创建项目 1.2.项目管 ...

  4. 《数据安全法》施行1个月,API安全管控平台有效提升API安全管理能力

    距离<数据安全法>施行已经过去1个月,作为我国首部数据安全专门的法律,它对企业的数据处理.安全保护.开发利用等都提出了合规要求.在此之下,各企业也积极开展行动严格践行法规. API作为连接 ...

  5. WEB API系列(一):WEB API的适用场景、第一个实例

    在我前一篇博客<WebAPI前置知识:HTTP与RestfulAPI>中已经给各位简单介绍了HTTP协议与RestFul API的关系,以及一些基本的HTTP协议知识,在这些知识的铺垫下, ...

  6. java与es8实战之五:SpringBoot应用中操作es8(带安全检查:https、账号密码、API Key)

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇是<java与es8实战>系 ...

  7. Kudu 原理、API使用、代码

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 大数据组件使用 总文章  Impala 操作/读写 Kudu, ...

  8. python 翻译模块 翻译API使用(百度、有道、谷歌)

    1.翻译模块.api使用分析 1.translate库:使用简单,但是有次数限制,翻译的准确性中等: 2.百度api(推荐使用): 代码简单,有模块,但是需要注册,获取key值,翻译的准确性中下: 3 ...

  9. 【zz】免费的午餐——编程利用Google日历API发短信、Email

    免费的午餐--编程利用Google日历API发短信.Email Google日历是相当优秀的日程管理工具,可以方便的组织.分享各类日程,Google还提供了贴心而免费的手机短信.Email提示功能,真 ...

最新文章

  1. 看了 100多份简历后,想给找工作的程序员几点建议
  2. gdb加载python_gdb加载python脚本的方法
  3. sql注入攻击实例mysql_MySQL 处理SQL注入攻击
  4. 使用Power BI Desktop可视化分析冠状病毒数据
  5. C语言中 二维数组在内存中的存放顺序是,在计算机中二维数组的元素是按行顺序存放的,即在内存中,先顺序存放二维数组第一行的元素,再顺序存放二维数组第二行的元素,以此类推 答案:对...
  6. iframe加载完成后操作contentDocument
  7. 安卓TV版二开对接苹果cms后台,原生Java前端
  8. 第十三届第一场蓝桥杯嵌入式主观题讲解
  9. Android游戏引擎汇总,android开发模拟器
  10. 西门子PLC S7-300选型概述
  11. c 转时间戳php,php日期转时间戳,指定日期转换成时间戳 筋斗云网络
  12. 蜂鸣器基本介绍及实现程序
  13. 【电源芯片】TPS63020升降压芯片-电池放电
  14. 下载最新版Termux
  15. java学籍管理系统部分代码_java学籍管理系统源代码
  16. 重磅!亚马逊创始人贝佐斯将于7月飞往太空,人类征服太空的野心从未停止!| 硅谷速递...
  17. 再更新:2022 京东/淘宝双11活动一键自动完成任务脚本app来了,顺便说个事情...
  18. Laravel sms短信验证码
  19. 林轩田机器学习技法(Machine Learning Techniques)笔记(一)
  20. ps2021直装版|ps2021中文直装版 v22.0.0.35附安装教程

热门文章

  1. 2022-2028年中国高密度聚乙烯(HDPE)行业市场发展调研及投资前景分析报告
  2. Go 学习笔记(82)— Go 第三方库之 viper(解析配置文件、热更新配置文件)
  3. 2022-2028年中国美瞳行业应用市场需求及开拓机会研究报告
  4. 2022-2028年中国玫瑰花行业市场研究及前瞻分析报告
  5. 知识图谱中传统关系抽取方法
  6. pytorch实现BiLSTM+CRF用于NER(命名实体识别)
  7. OpenMP用法大全
  8. 三段式LLVM编译器
  9. TensorFlow XLA加速编译器
  10. 模拟内存计算如何解决边缘人工智能推理的功耗挑战