Python Internal Read Gadgets
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
विभिन्न कमजोरियों जैसे कि Python Format Strings या Class Pollution आपको पायथन आंतरिक डेटा पढ़ने की अनुमति दे सकती हैं लेकिन कोड निष्पादित करने की अनुमति नहीं देंगी। इसलिए, एक पेंटेस्टर को संवेदनशील विशेषाधिकार प्राप्त करने और कमजोरियों को बढ़ाने के लिए इन पढ़ने की अनुमतियों का अधिकतम लाभ उठाने की आवश्यकता होगी।
एक Flask एप्लिकेशन का मुख्य पृष्ठ शायद app
वैश्विक वस्तु होगा जहाँ यह गुप्त कुंजी कॉन्फ़िगर की गई है।
इस मामले में, आप इस ऑब्जेक्ट तक पहुँच सकते हैं केवल किसी भी गैजेट का उपयोग करके वैश्विक ऑब्जेक्ट्स तक पहुँचने के लिए Python सैंडबॉक्स को बायपास करने के पृष्ठ से।
उस मामले में जहाँ कमजोरी एक अलग पायथन फ़ाइल में है, आपको फ़ाइलों को पार करने के लिए एक गैजेट की आवश्यकता है ताकि मुख्य फ़ाइल तक पहुँच सकें और वैश्विक ऑब्जेक्ट app.secret_key
तक पहुँच सकें ताकि Flask गुप्त कुंजी को बदल सकें और इस कुंजी को जानकर अधिकार बढ़ा सकें।
इस तरह का एक पेलोड इस लेख से:
इस पेलोड का उपयोग करें app.secret_key
को बदलने के लिए (आपके ऐप में नाम अलग हो सकता है) ताकि आप नए और अधिक विशेषाधिकार प्राप्त फ्लास्क कुकीज़ पर हस्ताक्षर कर सकें।
इस लेख से ये पेलोड का उपयोग करते हुए आप machine_id और uuid नोड तक पहुँच सकते हैं, जो कि मुख्य रहस्य हैं जिनकी आपको Werkzeug पिन उत्पन्न करने की आवश्यकता है जिसे आप /console
में पहुँचने के लिए उपयोग कर सकते हैं यदि डिबग मोड सक्षम है:
ध्यान दें कि आप app.py
के लिए सर्वर का स्थानीय पथ कुछ त्रुटि उत्पन्न करके प्राप्त कर सकते हैं जो आपको पथ देगा।
यदि कमजोरियां किसी अन्य पायथन फ़ाइल में हैं, तो मुख्य पायथन फ़ाइल से वस्तुओं तक पहुँचने के लिए पिछले Flask ट्रिक की जाँच करें।
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)