
पायथन और रस्ट में dlink भेद्यता चीज़
क्योंकि क्यों नहीं
cve-2024-10914 हाल ही में खोजी गई 9.8 क्रिटिकल स्कोर वाली एक कमज़ोरी है जो कुछ dlink राउटरों को प्रभावित करती है। क्योंकि उन राउटरों का eol सपोर्ट समाप्त हो चुका है, dlink इस कमज़ोरी को पैच करने से इनकार करता है क्योंकि "गरीब होना बंद करो और बस एक नया राउटर खरीदो"।
कमज़ोर डिवाइस एक http एंडपॉइंट उजागर करते हैं, आमतौर पर /cgi-bin/account_mgr.cgi?cmd=cgi_user_add&name=<user_input> के अंतर्गत। अनुचित सैनिटाइज़ेशन के कारण, इनपुट को सख्ती से सीमित या मान्य करने के बजाय (केवल अल्फ़ान्यूमेरिक वर्णों की अनुमति देना), एप्लिकेशन किसी भी वर्ण को इंजेक्ट करने की अनुमति देता है, जिसमें कमांड लाइन ऑपरेशन के लिए उपयोग किए जाने वाले विशेष वर्ण शामिल हैं, इसलिए मनमाना कोड निष्पादन की अनुमति मिलती है।
name फ़ील्ड में शेल मेटाकैरेक्टर (जैसे ; | & या $(command)) डालकर, कोई भी आसानी से शेल कमांड चला सकता है। उदाहरण के लिए:
...name=admin'; echo 'get pwned bozo'; #
ये सभी स्क्रिप्ट बस एक अनुरोध भेजते हैं जिसमें name पैरामीटर को आप जो भी कोड चलाना चाहते हैं उसमें बदल दिया जाता है।
fireship द्वारा एक बहुत अच्छा वीडियो है जो इसे और विस्तार से समझाता है: https://www.youtube.com/watch?v=52v6gKPA4TM
पहले आपके पास एक कमज़ोर डिवाइस होना चाहिए, कुछ मॉडल हैं:
मैं दृढ़ता से सलाह देता हूँ कि इस स्क्रिप्ट का उपयोग किसी और के खिलाफ उनकी सहमति के बिना न करें, कृपया यह सब केवल तभी करें जब आप राउटर के मालिक हों या आपके पास मालिक की सहमति हो
cargo run -- -u http://<device ip address>
cargo run
pip install -r requirements.txt
python main.py -u http://<device ip address>
python main.py
फिर निर्देशों का पालन करें
मैंने मूल कोड नहीं लिखा था, verylazytech ने लिखा था। मैंने केवल इसे रस्ट और पायथन में पोर्ट किया क्योंकि क्यों नहीं। बेशक सारा श्रेय उन्हें और इस एक्सप्लॉइट की खोज में शामिल किसी भी अन्य व्यक्ति को जाता है।