实战|从零开始的SRC挖掘——如何一洞百分
字数 1950 2025-08-09 19:14:07

Spring Boot安全漏洞挖掘实战指南

信息搜集篇

1. 目标资产发现

1.1 基础信息搜集

  • 公司/机构信息:使用企查查、小蓝本或爱企查查询目标及其子公司
  • 域名发现:通过备案信息、APP、小程序、微信公众号、微博等渠道获取
  • WHOIS查询:获取IP段、注册邮箱等关键信息

1.2 子域名爆破

  • 工具推荐:
    • OneForAll
    • 子域名收割机(已淘汰,建议OneForAll配合Goby)
    • Layer子域名挖掘机
  • 配合Masscan进行端口验证

1.3 IP资产发现

  • 通过WHOIS获取目标购买的IP段
  • 使用资产测绘工具扫描整个IP段

2. 资产测绘工具

2.1 主动扫描工具

  • Goby:强大的资产测绘工具,可识别Web服务
  • Kunyu:整合了ZoomEye、360Quake等接口的信息搜集工具

2.2 被动信息源

  • FOFA
    • 搜索语法:org="China Education and Research Network Center"
    • 图标哈希搜索:icon_hash="-xxxxxx"
  • Shodan
    • 搜索语法:org:"China Education and Research Network"
  • 360Quake
    • 搜索语法:isp: "中国教育网" AND city: "Beijing City"
  • 微步在线:优秀的反向IP查询工具

3. 搜索引擎技巧

3.1 Google Hacking

  • 基础语法:site:"edu.cn"
  • 后台查找:inurl:login|admin|manage|member
  • 注入点查找:site:域名 inurl:aspx|jsp|php|asp
  • 上传漏洞查找:site:域名 inurl:file|load|editor|Files

3.2 图标哈希计算

Python计算脚本:

import mmh3
import requests

response = requests.get('url/favicon.ico',verify=False)
favicon = response.content.encode('base64')
hash = mmh3.hash(favicon)
print hash

4. 移动端资产

4.1 小程序分析

  • 使用Crackminapp逆向微信小程序
  • 重点检查app.js中的主URL和其他JS文件中的API接口

4.2 APP抓包

  • 使用Charles进行抓包(安卓7以下)
  • 高版本安卓需要特殊配置

Spring Boot漏洞挖掘篇

1. Spring Boot特征识别

1.1 常见特征

  • 404错误页面特定样式
  • 默认路由暴露
  • Actuator端点

1.2 批量识别脚本

import requests

list = ['',''] # 目标列表

for i in list:
    try:
        url = "http://" +i + "/actuator/env"
        print(url)
        res = requests.get(url=url,allow_redirects=False,timeout=5)
        print(res.text)
        url = "http://" +i + "/env"
        print(url)
        res = requests.get(url=url,allow_redirects=False,timeout=5)
        print(res.text)
    except:
        pass

2. 敏感信息泄露

2.1 关键端点

  • Spring Boot 1.x: /env
  • Spring Boot 2.x: /actuator/env
  • 其他重要端点:
    /actuator
    /auditevents
    /autoconfig
    /beans
    /caches
    /conditions
    /configprops
    /docs
    /dump
    /env
    /flyway
    /health
    /heapdump
    /httptrace
    /info
    

2.2 Heapdump分析

  1. 访问/heapdump/actuator/heapdump获取堆转储文件
  2. 使用Memory Analyzer工具分析
  3. OQL查询语句:
    select * from java.util.Hashtable$Entry x WHERE (toString(x.key).contains("password"))
    
    select * from java.util.LinkedHashMap$Entry x WHERE (toString(x.key).contains("password"))
    

3. RCE漏洞利用

3.1 Eureka XStream反序列化

  1. 修改defaultZone配置
  2. 触发配置刷新
  3. 通过DNSLog验证

注意:修改配置有风险,需提前联系相关人员

3.2 Jolokia Logback JNDI注入

  • 利用Jolokia端点进行JNDI注入
  • 参考工具:https://github.com/LandGrey/SpringBootVulExploit

4. Swagger相关漏洞

  • 常见Swagger路由:
    /v2/api-docs
    /swagger-ui.html
    /swagger
    /api-docs
    /api.html
    /swagger-ui
    /swagger/codes
    
  • 使用工具:https://github.com/lijiejie/swagger-exp

批量挖掘实战

1. 目标获取

  • 在FOFA搜索:icon_hash="-xxxxxx"org="China Education and Research Network Center"
  • 在ZoomEye搜索:isp:"CHINAEDU"

2. 漏洞验证流程

  1. 识别Spring Boot应用
  2. 检查Actuator端点
  3. 分析heapdump获取敏感信息
  4. 尝试RCE漏洞利用
  5. 检查Swagger接口

注意事项

  1. 所有测试需获得授权
  2. 修改配置类操作需特别谨慎
  3. 发现漏洞后及时报告
  4. 遵守各SRC平台规则

参考资源

  1. Spring Boot漏洞利用工具集:https://github.com/LandGrey/SpringBootVulExploit
  2. Swagger漏洞利用工具:https://github.com/lijiejie/swagger-exp
  3. Kunyu信息搜集工具:https://github.com/knownsec/Kunyu
  4. JSFinder工具:https://github.com/Threezh1/JSFinder

通过系统化的信息搜集和针对性的漏洞探测,可以有效发现Spring Boot应用中的安全风险。关键在于全面的资产发现和细致的漏洞验证。

Spring Boot安全漏洞挖掘实战指南 信息搜集篇 1. 目标资产发现 1.1 基础信息搜集 公司/机构信息 :使用企查查、小蓝本或爱企查查询目标及其子公司 域名发现 :通过备案信息、APP、小程序、微信公众号、微博等渠道获取 WHOIS查询 :获取IP段、注册邮箱等关键信息 1.2 子域名爆破 工具推荐: OneForAll 子域名收割机(已淘汰,建议OneForAll配合Goby) Layer子域名挖掘机 配合Masscan进行端口验证 1.3 IP资产发现 通过WHOIS获取目标购买的IP段 使用资产测绘工具扫描整个IP段 2. 资产测绘工具 2.1 主动扫描工具 Goby :强大的资产测绘工具,可识别Web服务 Kunyu :整合了ZoomEye、360Quake等接口的信息搜集工具 2.2 被动信息源 FOFA : 搜索语法: org="China Education and Research Network Center" 图标哈希搜索: icon_hash="-xxxxxx" Shodan : 搜索语法: org:"China Education and Research Network" 360Quake : 搜索语法: isp: "中国教育网" AND city: "Beijing City" 微步在线 :优秀的反向IP查询工具 3. 搜索引擎技巧 3.1 Google Hacking 基础语法: site:"edu.cn" 后台查找: inurl:login|admin|manage|member 注入点查找: site:域名 inurl:aspx|jsp|php|asp 上传漏洞查找: site:域名 inurl:file|load|editor|Files 3.2 图标哈希计算 Python计算脚本: 4. 移动端资产 4.1 小程序分析 使用Crackminapp逆向微信小程序 重点检查app.js中的主URL和其他JS文件中的API接口 4.2 APP抓包 使用Charles进行抓包(安卓7以下) 高版本安卓需要特殊配置 Spring Boot漏洞挖掘篇 1. Spring Boot特征识别 1.1 常见特征 404错误页面特定样式 默认路由暴露 Actuator端点 1.2 批量识别脚本 2. 敏感信息泄露 2.1 关键端点 Spring Boot 1.x: /env Spring Boot 2.x: /actuator/env 其他重要端点: 2.2 Heapdump分析 访问 /heapdump 或 /actuator/heapdump 获取堆转储文件 使用Memory Analyzer工具分析 OQL查询语句: 3. RCE漏洞利用 3.1 Eureka XStream反序列化 修改defaultZone配置 触发配置刷新 通过DNSLog验证 注意 :修改配置有风险,需提前联系相关人员 3.2 Jolokia Logback JNDI注入 利用Jolokia端点进行JNDI注入 参考工具:https://github.com/LandGrey/SpringBootVulExploit 4. Swagger相关漏洞 常见Swagger路由: 使用工具:https://github.com/lijiejie/swagger-exp 批量挖掘实战 1. 目标获取 在FOFA搜索: icon_hash="-xxxxxx" 或 org="China Education and Research Network Center" 在ZoomEye搜索: isp:"CHINAEDU" 2. 漏洞验证流程 识别Spring Boot应用 检查Actuator端点 分析heapdump获取敏感信息 尝试RCE漏洞利用 检查Swagger接口 注意事项 所有测试需获得授权 修改配置类操作需特别谨慎 发现漏洞后及时报告 遵守各SRC平台规则 参考资源 Spring Boot漏洞利用工具集:https://github.com/LandGrey/SpringBootVulExploit Swagger漏洞利用工具:https://github.com/lijiejie/swagger-exp Kunyu信息搜集工具:https://github.com/knownsec/Kunyu JSFinder工具:https://github.com/Threezh1/JSFinder 通过系统化的信息搜集和针对性的漏洞探测,可以有效发现Spring Boot应用中的安全风险。关键在于全面的资产发现和细致的漏洞验证。