
phpunit-shell | CVE_2017-9841
CVE-2017-9841 का शोषण करने के लिए एक सरल python3 स्क्रिप्ट।
सरल स्क्रिप्ट जो PHPUnit 4.8.28 से पहले और 5.x 5.6.3 से पहले में पाई गई रिमोट कोड निष्पादन भेद्यता का शोषण करती है। यह लक्ष्य पर उपयोगकर्ता इनपुट सिस्टम कमांड के साथ POST अनुरोध भेजती है।
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9841.
pip3 install requests bs4
PHPUnit चलाने वाले लक्ष्य की पहचान करने के बाद:
chmod +x phpunit-shell
./phpunit-shell -h
या
python3 phpunit-shell -h
-h या --help विकल्प दिखाता है कि स्क्रिप्ट को कुछ उदाहरणों के साथ कैसे चलाया जाए।
दो स्थितिगत तर्क और कुछ वैकल्पिक तर्क हैं।
usage: phpunit-shell.py [-h] [-a] [-n] address
phpunit-shell.py exploits an RCE vulnerability in
applications running PHPUnit before 4.8.28 and 5.x before 5.6.3.
positional arguments:
address ip/hostname, port, sub-directories to the vulnerable eval-stdin.php file.
optional arguments:
-h, --help show this help message and exit
-a, --accessible turns off features which may negatively affect screen readers
-n, --no-colour removes colour output
example:
phpunit-shell.py 10.10.10.10/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php
phpunit-shell डिफ़ॉल्ट रूप से टर्मिनल आउटपुट में रंग और कुछ अतिरिक्त फ़ॉर्मेटिंग के साथ प्रिंट करता है, हालांकि यह स्क्रीनरीडर का उपयोग करने वालों के लिए हमेशा सहायक नहीं होता है। --accessible तर्क का उपयोग करने से फैंसी फ़ॉर्मेटिंग और रंग टर्मिनल पर प्रिंट होने से अक्षम हो जाएंगे।
यह ASCII कला को भी अक्षम करेगा।
स्क्रिप्ट उस प्रणाली के बारे में धारणाएँ नहीं बना सकती जिसे वह लक्षित कर रही है या भेद्य एप्लिकेशन चलाने वाले उपयोगकर्ता/सेवा की सीमाओं के बारे में। अर्थात, यह एक पूर्ण-शेल नहीं है इसलिए निर्देशिका बदलना संभव नहीं है और लंबे कमांड संभव नहीं हो सकते हैं।
यह एक सरल, त्वरित आधा-शेल 🐢 है जिसे आगे के शोषण - और अंततः पूर्ण-शेल, प्रिविलेज एस्केलेशन, आदि के लिए एक प्रवेश द्वार के रूप में डिज़ाइन किया गया है... 👍
स्क्रिप्ट अनुरोधों के लिए 30 सेकंड का टाइमआउट भी उपयोग करती है, इसे स्क्रिप्ट को संपादित करके बदला या पूरी तरह से बंद किया जा सकता है।
php कोड 'shell_exec' डिफ़ॉल्ट रूप से उपयोग किया जाता है लेकिन यदि उपयोगकर्ता चाहे तो इसे भी बदला जा सकता है। उदा. 'system' का उपयोग करना।
स्क्रिप्ट मुख्य रूप से CVE-2017-9841 का शोषण करने और आगे के शोषण को गति देने के लिए एक सरल python स्क्रिप्ट बनाने का एक अभ्यास था।
https://skerritt.blog/a11y/ - एक्सेसिबिलिटी कार्यान्वयन।