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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
proftpd-rewrite-utf8trans — ProFTPD 1.3.9d - उच्च - रिमोट - क्रैश - RewriteMap int:utf8trans BSS ओवरफ़्लो | Kitploit
उपकरण/GitHubGitHub/abraxas/proftpd-rewrite-utf8trans
भेद्यता विश्लेषणशोषणफज़िंगनेटवर्क सुरक्षापेनिट्रेशन टेस्टिंगबाइनरी विश्लेषणलैब और अभ्यास
GitHubabraxas/proftpd-rewrite-utf8trans

proftpd-rewrite-utf8trans

ProFTPD 1.3.9d - उच्च - रिमोट - क्रैश - RewriteMap int:utf8trans BSS ओवरफ़्लो

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - proftpd-rewrite-utf8trans

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  proftpd-rewrite-utf8trans

proftpd-rewrite-utf8trans

वर्ग: क्रैश पहुँच: रिमोट

ProFTPD 1.3.9d (f59f248) - ProFTPD (proftpd.org)

contrib mod_rewrite में RewriteMap int:utf8trans शामिल है। यह बिल्टइन क्लाइंट FTP आर्ग्युमेंट (जो CommandBufferSize, 512 KiB तक हो सकता है) को बिना किसी डेस्टिनेशन कैप के दो 1024-स्लॉट BSS बफ़र्स में कॉपी करता है। एक लंबा ASCII STOR नाम ASan global-buffer-overflow WRITE of size 8 है। सेशन चाइल्ड एबॉर्ट हो जाता है। डेमन चालू रहता है। वर्ग क्रैश। RCE नहीं।

IDअभी तक कोई CVE नहीं
वर्गक्रैश
पहुँचरिमोट (FTP आर्ग्युमेंट int:utf8trans को दिया गया)
CWECWE-120
CVSSउच्च: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H यदि RewriteRule प्री-ऑथ हो। लैब ने लॉगिन के बाद STOR का उपयोग किया, इसलिए उस रन के लिए PR:L ईमानदार है (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)।
उत्पादProFTPD
प्रभावित1.3.9d (f59f248e26bdfa514443e42bf72a145641df635d) contrib mod_rewrite
प्रमाणीकरणलैब प्रमाणीकृत STOR है। USER या समान पर प्री-ऑथ RewriteRule PR:N होगा।
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1

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

RewriteEngine कॉन्फ़िगर होने तक बंद रहता है। प्रलेखित पैटर्न RewriteRule (.*) ${map:$1} है। एक बार जब कोई RewriteRule क्लाइंट आर्ग्युमेंट को int:utf8trans के माध्यम से भेजता है, तो 1024 बाइट्स से लंबी कोई भी कुंजी सेशन चाइल्ड में दो स्टैटिक बफ़र्स को ओवरफ़्लो कर देती है।

विधिसिंकविशेषाधिकार
FTP कमांड जिसका आर्ग्युमेंट utf8trans मैप कुंजी है, लंबाई > 1024rewrite_utf8_to_ucs4 फिर utf8_val[i] = ucs4_longs[i]उपलब्धता (लैब-प्रमाणित): सेशन चाइल्ड को क्रैश करें। ASan: global-buffer-overflow WRITE of size 8, फिर ABORTING। Prefork: एक नया लॉगिन अभी भी काम करता था; डेमन चालू रहा। 200 ASCII बाइट्स का एक छोटा STOR बच गया। आस-पास की rewrite BSS अखंडता अनुमानित और कंपाइलर-लेआउट पर निर्भर है।
RIP / कोड निष्पादनकोई दावा नहींबंद। कोई पेलोड नहीं। वर्ग क्रैश। RCE नहीं।
RewriteMap का .ftpaccess प्लांटCONF_DYNDIRबंद। RewriteMap .ftpaccess में अनुमत नहीं है।
prg: शेलऐसा कोई मैप प्रकार नहींबंद। FIFO लाइन I/O है।

लैब-प्रमाणित बनाम अनुमानित: ASan WRITE of size 8, सेशन-चाइल्ड एबॉर्ट, बचे हुए शॉर्ट-आर्ग कंट्रोल, और ट्रिगर के बाद का लॉगिन लैब-प्रमाणित हैं। RIP/RCE का दावा नहीं किया गया है।

Issue 2173 ने इस पिन पर int:unescape के एक-बाइट OOB को पैच किया। यह बचा हुआ मुद्दा int:utf8trans है। अलग बिल्टइन। अलग बग।

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

मैंने proftpd/proftpd टैग v1.3.9d को पिन किया। 2026 की CVE फ़सल और उस टारबॉल में अभी भी मौजूद सार्वजनिक GitHub इश्यूज़ (2170, 2173, 2175, 2180, 2095, 2256, 2286, 2319, 2330, 2301) स्किप लिस्ट थे। सैंपल basic.conf के साथ डिफ़ॉल्ट कोर FTP ने मुझे कोई अप्रकाशित Crit/High नहीं दिया। Contrib rewrite ने दिया।

rewrite_map_int_utf8trans (contrib/mod_rewrite.c) में है:

static unsigned char utf8_val[PR_TUNABLE_BUFFER_SIZE];   /* 1024 */
static unsigned long ucs4_longs[PR_TUNABLE_BUFFER_SIZE]; /* 1024 */
ucs4strlen = rewrite_utf8_to_ucs4(ucs4_longs, strlen(key), (unsigned char *) key);

rewrite_utf8_to_ucs4 प्रत्येक ASCII बाइट के लिए एक unsigned long लिखता है बिना किसी कैप के। PR_TUNABLE_CMD_BUFFER_SIZE 512 KiB है। Issue 2173 ने पहले ही unescape को ठीक कर दिया था। यह मैप उस फिक्स में नहीं था।

गलत मोड़: 2173 को इस बग के रूप में मानना; RIP का दावा करना क्योंकि ASan ने WRITE of size 8 कहा; यह उम्मीद करना कि .ftpaccess RewriteMap प्लांट कर सकता है। पहला एक अलग फ़ंक्शन है। दूसरा अभी भी क्रैश है। तीसरा CONF_DYNDIR है।

ASan और स्टॉक libcrypt rewrite सिंक से पहले PASS पर SIGSEGV करते हैं। लैब एक छोटा crypt(3) स्टब प्रीलोड करता है ताकि लॉगिन काम करे। वह स्टब कोई एक्सप्लॉइट नहीं है।

लैब

python3 proftpd-rewrite-utf8trans-Abraxas-Labs.py

या:

cd lab
./run.sh

लूपबैक 127.0.0.1:18740 प्लस पैसिव 18741-18750। Compose प्रोजेक्ट proftpd-rewrite-utf8trans। विटनेस PROFTPD-REWRITE-UTF8TRANS-WITNESS। इमेज 1.3.9d mod_rewrite का ASan बिल्ड है। 200 ASCII बाइट्स का कंट्रोल STOR सफल होता है। 2048 ASCII बाइट्स का STOR ASan global-buffer-overflow WRITE of size 8 है और सेशन चाइल्ड एबॉर्ट हो जाता है। ट्रिगर के बाद नया लॉगिन अभी भी काम करता है।

SUCCESS PROFTPD-REWRITE-UTF8TRANS asan=global-buffer-overflow write=yes child-dead=yes PROFTPD-REWRITE-UTF8TRANS-WITNESS

फिक्स

rewrite_utf8_to_ucs4 की डेस्ट लंबाई को PR_TUNABLE_BUFFER_SIZE-1 तक सीमित करें। ucs4_longs / utf8_val से आगे लिखना बंद करें। ऐसी मैप कुंजी को अस्वीकार करें या ट्रंकेट करें जो फिट नहीं होती।

संदर्भ

  • github.com/proftpd/proftpd टैग v1.3.9d (f59f248e26bdfa514443e42bf72a145641df635d)
  • contrib/mod_rewrite.c rewrite_utf8_to_ucs4 / rewrite_map_int_utf8trans
  • आस-पास पैच किया गया (यह मैप नहीं): Issue 2173 int:unescape
  • CWE-120

लाइसेंस

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

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