实战 | 微信小程序EDUSRC渗透漏洞复盘
字数 1405 2025-08-22 12:23:42

微信小程序EDUSRC渗透漏洞实战教学文档

0x1 前言

本教学文档详细分析了一个微信小程序渗透测试案例,涉及多个漏洞类型和利用技术。通过此案例可以学习微信小程序渗透测试的完整流程和技术要点。

0x2 渗透测试流程与技术要点

一、微信一键登录安全分析

关键点

  1. 微信一键登录功能常见安全问题:

    • SessionKey、iv和加密字段三要素泄露
    • 手机号信息泄露
    • 账户越权风险
  2. 利用工具:

    • Wx_SessionKey_crypt加解密工具
    • GitHub地址:https://github.com/mrknow001/wx_sessionkey_decrypt/releases
  3. 攻击方法:

    • 解密获取手机号
    • 逆向修改手机号并重新加密
    • 替换数据包实现账户劫持

二、数据包分析与框架识别

关键点

  1. Jeecg框架识别特征:

    • URL路径包含/jeecg、/sys、/system等关键字
    • 特定接口命名规范
  2. 敏感信息接口发现:

    • 通过id参数回显用户敏感信息(身份证、姓名、手机号等)
    • 历史数据包中寻找id遍历接口
  3. JWT认证绕过尝试:

    • 识别X-Access-Token校验机制
    • 尝试JWT密钥爆破(使用无影工具)
    • 参考文章:https://mp.weixin.qq.com/s/ITVFuQpA8OCIRj4wW-peAA

三、接口参数篡改与未授权访问

关键点

  1. 参数篡改技术:

    • 删除queryById参数
    • 添加list参数
    • 最终构造未授权访问接口
  2. 批量数据泄露:

    • 构造list?pageNo=1&pageSize=7802获取全部数据
    • 共泄露7802条用户敏感信息

四、文件路径与敏感信息泄露

关键点

  1. 身份证照片泄露:

    • 识别idPhotoF和idPhotoZ参数
    • 路径拼接技术
    • 通过/download路径成功访问照片
  2. 自动化脚本:

    import json
    
    # 解析JSON数据
    data = json.loads(json_data)
    
    # 基础URL
    base_url = "https://host/路径"
    
    # 遍历每个用户,拼接URL并打印
    for user in data:
        id_photo_f = user.get("idPhotoF")
        if id_photo_f:
            full_url = base_url + id_photo_f
            print(full_url)
    

五、文件上传漏洞利用

关键点

  1. 上传点测试流程:

    • 先测试XSS过滤情况
    • 确认服务端语言(PHP)
    • 尝试绕过过滤(使用phtml扩展名)
  2. 漏洞验证:

    • 成功上传并解析phpinfo页面
    • 证明存在getshell风险

六、水平与垂直越权漏洞

关键点

  1. 水平越权:

    • 使用已收集的用户信息替换登录数据包
    • 成功登录其他用户账户
  2. 垂直越权:

    • 寻找admin管理员账户
    • 替换数据包实现管理员权限获取

0x3 渗透测试方法论总结

  1. 数据包分析要点

    • 逐个分析功能点相关数据包
    • 理解数据包业务逻辑和走向
    • 重点关注接口参数和返回值
  2. 微信小程序安全特点

    • 防御措施相对简单
    • 过滤机制不完善
    • 容易存在高危漏洞
  3. 漏洞挖掘思路

    • 从简单功能点入手
    • 关注数据泄露风险
    • 尝试参数篡改和接口滥用
    • 不放过任何上传点
  4. 工具与技术栈

    • Burp Suite
    • Wx_SessionKey_crypt
    • JWT爆破工具
    • Python自动化脚本

0x4 防御建议

  1. 对微信一键登录功能:

    • 加强SessionKey保护
    • 实现服务端完整验证机制
  2. 对接口安全:

    • 严格的权限控制
    • 参数校验和过滤
    • 防止未授权访问
  3. 对文件上传:

    • 严格的文件类型检查
    • 内容校验而不仅是扩展名检查
    • 设置安全存储路径
  4. 对用户数据:

    • 最小化原则(只返回必要数据)
    • 敏感信息加密存储
    • 严格的访问日志记录

0x5 法律与道德声明

  1. 所有渗透测试必须获得授权
  2. 发现漏洞应遵循负责任的披露流程
  3. 严禁利用技术进行非法活动
  4. 本文仅用于网络安全技术研究和教学目的
微信小程序EDUSRC渗透漏洞实战教学文档 0x1 前言 本教学文档详细分析了一个微信小程序渗透测试案例,涉及多个漏洞类型和利用技术。通过此案例可以学习微信小程序渗透测试的完整流程和技术要点。 0x2 渗透测试流程与技术要点 一、微信一键登录安全分析 关键点 : 微信一键登录功能常见安全问题: SessionKey、iv和加密字段三要素泄露 手机号信息泄露 账户越权风险 利用工具: Wx_ SessionKey_ crypt加解密工具 GitHub地址:https://github.com/mrknow001/wx_ sessionkey_ decrypt/releases 攻击方法: 解密获取手机号 逆向修改手机号并重新加密 替换数据包实现账户劫持 二、数据包分析与框架识别 关键点 : Jeecg框架识别特征: URL路径包含/jeecg、/sys、/system等关键字 特定接口命名规范 敏感信息接口发现: 通过id参数回显用户敏感信息(身份证、姓名、手机号等) 历史数据包中寻找id遍历接口 JWT认证绕过尝试: 识别X-Access-Token校验机制 尝试JWT密钥爆破(使用无影工具) 参考文章:https://mp.weixin.qq.com/s/ITVFuQpA8OCIRj4wW-peAA 三、接口参数篡改与未授权访问 关键点 : 参数篡改技术: 删除queryById参数 添加list参数 最终构造未授权访问接口 批量数据泄露: 构造list?pageNo=1&pageSize=7802获取全部数据 共泄露7802条用户敏感信息 四、文件路径与敏感信息泄露 关键点 : 身份证照片泄露: 识别idPhotoF和idPhotoZ参数 路径拼接技术 通过/download路径成功访问照片 自动化脚本: 五、文件上传漏洞利用 关键点 : 上传点测试流程: 先测试XSS过滤情况 确认服务端语言(PHP) 尝试绕过过滤(使用phtml扩展名) 漏洞验证: 成功上传并解析phpinfo页面 证明存在getshell风险 六、水平与垂直越权漏洞 关键点 : 水平越权: 使用已收集的用户信息替换登录数据包 成功登录其他用户账户 垂直越权: 寻找admin管理员账户 替换数据包实现管理员权限获取 0x3 渗透测试方法论总结 数据包分析要点 : 逐个分析功能点相关数据包 理解数据包业务逻辑和走向 重点关注接口参数和返回值 微信小程序安全特点 : 防御措施相对简单 过滤机制不完善 容易存在高危漏洞 漏洞挖掘思路 : 从简单功能点入手 关注数据泄露风险 尝试参数篡改和接口滥用 不放过任何上传点 工具与技术栈 : Burp Suite Wx_ SessionKey_ crypt JWT爆破工具 Python自动化脚本 0x4 防御建议 对微信一键登录功能: 加强SessionKey保护 实现服务端完整验证机制 对接口安全: 严格的权限控制 参数校验和过滤 防止未授权访问 对文件上传: 严格的文件类型检查 内容校验而不仅是扩展名检查 设置安全存储路径 对用户数据: 最小化原则(只返回必要数据) 敏感信息加密存储 严格的访问日志记录 0x5 法律与道德声明 所有渗透测试必须获得授权 发现漏洞应遵循负责任的披露流程 严禁利用技术进行非法活动 本文仅用于网络安全技术研究和教学目的