Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
lighttpd-win32-dotdot-space — lighttpd 1.4.85 - High - Remote - Path - native Win32 GET /..%20/ document-root के बाहर पढ़ता है | Kitploit
उपकरण/GitHubGitHub/abraxas/lighttpd-win32-dotdot-space
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंगलैब और अभ्यास
GitHubabraxas/lighttpd-win32-dotdot-space

lighttpd-win32-dotdot-space

lighttpd 1.4.85 - High - Remote - Path - native Win32 GET /..%20/ document-root के बाहर पढ़ता है

रिपॉजिटरी देखें
2 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Abraxas Labs - lighttpd-win32-dotdot-space

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  lighttpd-win32-dotdot-space

lighttpd-win32-dotdot-space

वर्ग: फ़ाइल पठन पहुँच: रिमोट

lighttpd 1.4.85 (4852959) - lighttpd

नेटिव _WIN32 staticfile buffer_path_simplify के बाद document-root को rel_path से जोड़ता है। Simplify केवल तब ../ को फोल्ड करता है जब तीसरा बाइट / हो। http_response_prepare_physical केवल पूरे पथ से अनुगामी स्पेस और डॉट हटाता है। इसलिए GET /..%20/windows/win.ini /.. /windows/win.ini ही रहता है। \\?\ प्रीफ़िक्स के बिना _wstati64 / _wopen फिर Win32 को प्रति-घटक स्पेस हटाने देते हैं और उस सेगमेंट को .. मान लेते हैं।

नेटिव Windows lighttpd पर अनधिकृत GET/HEAD document-root के बाहर की एक नियमित फ़ाइल पढ़ता है जिसे worker अकाउंट खोल सकता है। Unix/Linux यह leftover नहीं है। फ़ाइल पठन, RCE नहीं।

लैब उन pin फ़ंक्शनों का एक gadget है। यह लाइव नेटिव Win32 worker नहीं है। अंतिम पंक्ति how=gadget का उपयोग करती है।

IDअभी तक कोई CVE नहीं
वर्गफ़ाइल पठन (पथ ट्रैवर्सल, नेटिव Win32 ..%20/)
पहुँचरिमोट (अनधिकृत GET/HEAD)
CWECWE-22
CVSSउच्च: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
उत्पादlighttpd1.4
प्रभावित1.4.85 (4852959e67ef51ea68084984400d3264b854c97d) नेटिव _WIN32
प्रमाणीकरणकोई नहीं। डिफ़ॉल्ट mod_staticfile
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1, how=gadget

हमलावर क्या कर सकता है

नेटिव Windows lighttpd की आवश्यकता है जो स्टैटिक फ़ाइलें सर्व कर रहा हो। Worker अकाउंट को लक्ष्य नियमित फ़ाइल खोलने में सक्षम होना चाहिए।

विशेषाधिकारविधि / sinkलैब-प्रमाणित या अनुमानित
document-root के बाहर की फ़ाइल पढ़नाअनधिकृत GET /..%20/<name>लैब-प्रमाणित (gadget)। HTTP 200 बॉडी पैरेंट सीक्रेट है
गैर-अंतिम .. घटक पर अन्य अनुगामी ASCII स्पेस/डॉट के लिए समान वर्गurl-decode फिर simplify .. रखता है%20 के लिए लैब-प्रमाणित। अन्य अनुगामी स्पेस/डॉट के लिए अनुमानित
उसी पथ पर HEADstaticfile HEADअनुमानित। लैब ने GET का उपयोग किया
नकारात्मक: वास्तविक /../buffer_path_simplify ../ को फोल्ड करता हैलैब-प्रमाणित। 404, सरलीकृत /windows/win.ini, कोई witness नहीं
नकारात्मक: अनसिम्प्लिफ़ाइड भौतिक स्ट्रिंग का Unix POSIX openopen("/srv/htdocs/.. /windows/win.ini")लैब-प्रमाणित। ENOENT

इस leftover पर बंद: Unix/Linux staticfile; Cygwin (समान strip, POSIX open); 1.4.85 %5C parseopt; CVE-2018-19052 alias; CVE-2014-2324 Host। RCE नहीं। लेखन नहीं।

मैंने इसे कैसे खोजा

मैंने टैग lighttpd-1.4.85 को pin किया। बीस hunts। डिफ़ॉल्ट Unix/Linux staticfile, FastCGI, proxy, TLS, auth, HTTP/2, alias/rewrite: इस बार पर कोई नहीं। 1.4.81-1.4.85 parser wave ने पहले ही trailers, CGI header conflicts, और अमान्य backend Content-Length को बंद कर दिया था।

buffer_path_simplify केवल तब ../ को फोल्ड करता है जब walk[2] == '/' हो। http_response_prepare_physical (src/response.c 334-360) में WIN32 strip पूरे-पथ का tail है। _wstati64 / _wopen (src/fs_win32.c 24-77) \\?\ के बिना UTF-16 पास करते हैं, इसलिए Win32 प्रति-घटक अनुगामी स्पेस हटाता है और .. .. बन जाता है। भौतिक join doc_root + rel_path है और post-stat basedir जाँच नहीं है।

पहले से दर्ज गलत मोड़: Unix ENOENT को "बग नहीं" मानना (यह negative control है); Cygwin को नेटिव Win32 कहना; 1.4.85 %5C को यह leftover बताना; फ़ाइल पठन को RCE तक बढ़ाना। नाटक: एक reverse shell। Oracle document-root के पैरेंट से आने वाली 200 बॉडी है।

लैब

python3 lighttpd-win32-dotdot-space-Abraxas-Labs.py

या

cd lab
./run.sh

लैब buffer_urldecode_path, buffer_path_simplify (Win32 '\\' map), response.c tail strip, और \\?\ के बिना _wstati64 का एक faithful gadget है। Unix POSIX open negative control है। Win32 resolve को समान प्रति-घटक अनुगामी-स्पेस strip, फिर . / .., फिर resolved पथ के POSIX open के रूप में लागू किया गया है। Loopback HTTP 127.0.0.1:19400।

  1. GET /index.html -> 200 public-index, कोई witness नहीं।
  2. GET /../windows/win.ini -> 404, सरलीकृत /windows/win.ini।
  3. GET /..%20/windows/win.ini -> decoded /.. /windows/win.ini, simplify ने स्पेस रखा, Unix ENOENT, Win32 ने /srv/windows/win.ini resolve किया, 200 witness।
SUCCESS lighttpd-win32-dotdot-space how=gadget win32-get=200 unix-open=enoent simplify-kept-dotdot-space=yes LIGHTTPD-WIN32-DOTDOT-SPACE-WITNESS

समाधान

simplify से पहले प्रति पथ घटक अनुगामी स्पेस और डॉट हटाएँ, या Win32 opens को \\?\ से प्रीफ़िक्स करें और ऐसे भौतिक पथ को अस्वीकार करें जो document-root के अंतर्गत न रहे।

संदर्भ

  • github.com/lighttpd/lighttpd1.4 टैग lighttpd-1.4.85 (4852959e67ef51ea68084984400d3264b854c97d)
  • src/buffer.c · src/response.c · src/fs_win32.c
  • निकटवर्ती पैच किए गए (यह leftover नहीं): CVE-2025-12642 trailers · 1.4.85 %5C parseopt · CVE-2018-19052 alias · CVE-2014-2324 Host
  • CWE-22

लाइसेंस

GNU Affero GPL v3.0। देखें LICENSE। केवल Loopback लैब। कोई वारंटी नहीं।

टूल डाउनलोड करें