* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करने की आवश्यकता है? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा संग्रह विशेष [**NFTs**](https://opensea.io/collection/the-peass-family)
* [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में **शामिल हों** या मुझे **Twitter** पर **फ़ॉलो** करें [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
भाग्य से वर्तमान में PHP अक्सर PHP-FPM और Nginx के माध्यम से डिप्लॉय होता है। Nginx एक आसानी से छूट जाने वाली [client body buffering](https://nginx.org/en/docs/http/ngx\_http\_core\_module.html#client\_body\_buffer\_size) सुविधा प्रदान करता है जो एक निश्चित सीमा से अधिक होने पर अस्थायी फ़ाइलें लिखेगी यदि क्लाइंट बॉडी (पोस्ट करने के लिए सीमित नहीं है)।
यदि Nginx व्यापक रूप से www-data के रूप में PHP के साथ चलता है (बहुत आम रूप से किया जाता है), तो यह सुविधा LFIs को फ़ाइलें बनाने के किसी अन्य तरीके के बिना भी उत्पन्न करने की अनुमति देती है।
यह दिखाई देता है कि **tempfile को Nginx द्वारा खोलने के तुरंत बाद अनलिंक किया जाता है**। भाग्य से **procfs का उपयोग करके हटाए गए फ़ाइल का संदर्भ प्राप्त किया जा सकता है** एक रेस के माध्यम से:
नोट: इस उदाहरण में `/proc/34/fd/15` को सीधे शामिल नहीं किया जा सकता है क्योंकि PHP की `include` फ़ंक्शन पथ को `/var/lib/nginx/body/0000001368 (deleted)` में रेज़ॉल्व करेगी जो फ़ाइलसिस्टम में मौजूद नहीं है। यह छोटी सी प्रतिबंधता भाग्य से कुछ इंद्रधनुष के द्वारा दूर की जा सकती है जैसे: `/proc/self/fd/34/../../../34/fd/15` जो अंततः हटाए गए `/var/lib/nginx/body/0000001368` फ़ाइल की सामग्री को निष्पादित करेगा।
In this technique, we will exploit a Local File Inclusion (LFI) vulnerability to achieve Remote Code Execution (RCE) by leveraging Nginx temporary files. This technique is effective when the target server is running Nginx web server and has a misconfigured or vulnerable LFI vulnerability.
## Prerequisites
To perform this attack, you need the following:
- A target server running Nginx web server.
- Knowledge of the target's file system structure.
- A vulnerable LFI vulnerability on the target server.
## Exploitation Steps
1. Identify the LFI vulnerability: Find a parameter or input field that is vulnerable to LFI on the target website.
2. Exploit the LFI vulnerability: Inject a payload that includes the path to the Nginx temporary files directory. This can be achieved by appending the following payload to the vulnerable parameter:
Replace the `X` characters with a unique filename.
3. Trigger the payload: Submit the request containing the payload to the target server.
4. Monitor the Nginx temporary files directory: Check the Nginx temporary files directory to see if the payload file has been created. The path to the directory can be found in the Nginx configuration file.
5. Execute the payload: If the payload file is successfully created, it means that the LFI vulnerability has allowed us to write files to the server. Now, we can execute arbitrary commands by injecting them into the payload file.
## Conclusion
By leveraging Nginx temporary files, we can exploit an LFI vulnerability to achieve RCE on a target server running Nginx web server. This technique can be used to gain unauthorized access and execute arbitrary commands on the target system. It is important to note that this technique should only be used for ethical purposes, such as penetration testing and security research.
यह [https://lewin.co.il/winning-the-impossible-race-an-unintended-solution-for-includers-revenge-counter-hxp-2021/](https://lewin.co.il/winning-the-impossible-race-an-unintended-solution-for-includers-revenge-counter-hxp-2021/) से है।
# This method creates a path from random amount of ProcFS path components. A generated path will look like /proc/<nginx pid 1>/cwd/proc/<nginx pid 2>/root/proc/<nginx pid 3>/root
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने की अनुमति** चाहिए? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
* खोजें [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा विशेष [**NFT**](https://opensea.io/collection/the-peass-family) संग्रह
* प्राप्त करें [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **शामिल हों** [**💬**](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)**.**