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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
ats-ipallow-method-case — Apache Traffic Server 10.2.0 - उच्च - रिमोट - विशेषाधिकार अवशेष - ip_allow विधि केस | Kitploit
उपकरण/GitHubGitHub/abraxas/ats-ipallow-method-case
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षानेटवर्क सुरक्षालैब और अभ्यास
GitHubabraxas/ats-ipallow-method-case

ats-ipallow-method-case

Apache Traffic Server 10.2.0 - उच्च - रिमोट - विशेषाधिकार अवशेष - ip_allow विधि केस

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - ats-ipallow-method-case

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  ats-ipallow-method-case

ats-ipallow-method-case

वर्ग: विशेषाधिकार अवशेष पहुँच: रिमोट

Apache Traffic Server 10.2.0 (b1df7334) - Apache Software Foundation

HTTP/1 मिश्रित-केस मेथड्स डिफ़ॉल्ट ip_allow.yaml के PURGE/PUSH/DELETE/TRACE के डिनाई को बायपास करते हैं और रीमैप किए गए ओरिजिन तक ATS uid के रूप में TUNNEL करते हैं। YAML और रीमैप @method पार्स नोकेस होते हैं। H1 टोकनाइज़ करता है फिर रिक्वेस्ट बाइट्स पर strncmp करता है और केस मिसमैच पर -1 लौटाता है। डिनाई इनवर्ट उस अज्ञात टोकन को अनुमत मानता है। HTTP/2 :method नोकेस होता है और डिनाई ही रहता है। कैश PURGE/PUSH को अभी भी एक सुविदित wksidx चाहिए, इसलिए मिश्रित-केस कैश को पर्ज या पुश नहीं करता।

यह डिफ़ॉल्ट इनबाउंड मेथड ACL का अवशेष है, न कि CVE-2026-33267 (हॉप-बाय-हॉप) और न ही इनवर्टेड खाली-गैर-मानक रीमैप ACL (इस पिन पर बंद)।

IDअभी तक कोई CVE नहीं
वर्गविशेषाधिकार अवशेष
पहुँचरिमोट (गैर-लूपबैक क्लाइंट से अनऑथेंटिकेटेड HTTP/1)
CWECWE-178, CWE-863
CVSSउच्च: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
उत्पादApache Traffic Server
प्रभावित10.2.0 (b1df7334b39a878971c376da849e8da4984918b6) डिफ़ॉल्ट रिवर्स प्रॉक्सी
प्रमाणीकरणकोई नहीं। डिफ़ॉल्ट ip_allow.yaml। remap_required: 1 और एक map।
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1:18710। इमेज ats-10.2.0-lab:local।

मैंने टैग 10.2.0, कमिट b1df7334b39a878971c376da849e8da4984918b6 पिन किया। नवीनतम स्थिर 17 अगस्त 2026। सोर्स-बिल्ट इमेज, गैजेट नहीं।

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

HTTP/1 पर एक गैर-लूपबैक पते से एक सामान्य रिवर्स प्रॉक्सी (remap_required: 1 और एक map) तक पहुँचें। 127.0.0.1 सभी को अनुमति है। खाली plugin.config। डिफ़ॉल्ट ip_allow.yaml।

मेथडसिंकविशेषाधिकार
172.x साइडकार से रीमैप के बाद HTTP/1 delete / DeLeTehdrtoken_method_tokenize फिर process_quick_http_filter फिर METHOD_NOT_SUPPORTED TUNNEL (HdrToken.cc:512-528, HttpTransact.cc:6855-6858)अखंडता (लैब-प्रमाणित): ओरिजिन 200 DELETED ATS-IPALLOW-METHOD-CASE-WITNESS। अपरकेस DELETE 403 है। ओरिजिन मेथड ATS uid के रूप में।
HTTP/1 traceवही TUNNELरीकॉन (लैब-प्रमाणित): ओरिजिन 200 TRACE-OK। ATS TRACE इको नहीं बनाता (wksidx TRACE नहीं है)। अपरकेस TRACE 403 है।
HTTP/1 purge / pushअज्ञात-मेथड TUNNEL, कैश ऑप नहींअखंडता (ATS कैश): बंद (लैब-प्रमाणित)। ओरिजिन ने PURGE-ORIGIN / PUSH-ORIGIN देखा। कैश ऑप्स को सुविदित wksidx चाहिए। push_method_enabled डिफ़ॉल्ट 0।
वही मिश्रित-केस रिक्वेस्टएक अतिरिक्त ओरिजिन हॉपउपलब्धता (लैब-प्रमाणित): प्रोसेस डेथ नहीं।

लैब-प्रमाणित बनाम अनुमानित: अपरकेस डिनाई, मिश्रित-केस DELETE/TRACE टनल, कैश PURGE/PUSH बंद: लैब। ओरिजिन DELETE/TRACE केवल तब यदि वह ओरिजिन मेथड केस को फोल्ड करता है (IIS / कुछ Java)। RFC 9110 केस-सेंसिटिव ओरिजिन (nginx, httpd, Go) 501 उत्तर देते हैं। लैब ओरिजिन केस फोल्ड करता है।

आवश्यक: गैर-loopback क्लाइंट से HTTP/1। remap_required: 1 और एक map। PURGE/PUSH/DELETE/TRACE का डिफ़ॉल्ट इनबाउंड deny। HTTP/2 :method nocase अभी भी अस्वीकृत।

आसन्न सतह जो बंद रहती है

सतहलैब
172.x से सटीक-केस DELETE / TRACE403, ओरिजिन हिट नहीं हुआ
HTTP/2 :method मिश्रित-केसnocase टोकनाइज़, अभी भी अस्वीकृत
ATS कैश ऑप्स के रूप में मिश्रित-केस purge / pushओरिजिन ने क्रिया देखी; कैश पथ बंद रहा
CONNECT गंतव्य deny (0.0.0.0/8, RFC1918, link-local, ::ffff:0:0/96)डिफ़ॉल्ट ip_allow.yaml आउटबाउंड
remap_required: 1 मिस404, ओपन रिले नहीं
उलटा खाली-गैरमानक remap ACLCHANGELOG फ़िक्स कायम रहा
CVE-2026-33267 hop-by-hop / @ स्ट्रिपइस पिन पर बंद

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

डिफ़ॉल्ट ip_allow.yaml स्टॉक रिमोट मेथड ACL है। YAML लोड hdrtoken_tokenize (nocase) का उपयोग करता है। DENY इनवर्ट फिर _method_mask = ALL & ~listed और _deny_nonstandard_methods = true को खाली गैरमानक सूची के साथ सेट करता है (IPAllow.cc:545-548)।

HTTP/1 पार्स hdrtoken_method_tokenize के साथ टोकनाइज़ करता है। DFA केस-असंवेदनशील है; हेल्पर फिर अनुरोध बाइट्स को ज्ञात स्ट्रिंग के विरुद्ध strncmp करता है और केस बेमेल पर -1 लौटाता है:

retval = hdrtoken_tokenize(string, string_len, &string_out);
if (retval >= 0) {
  if (strncmp(string, string_out, string_len) != 0) {
    // Not a case match
    retval = -1;
  }
}

EndRemapRequest method == -1 के लिए isNonstandardMethodAllowed को कॉल करता है (IPAllow.h:365-376)। खाली nonstandard सेट और deny-nonstandard मिलकर !method_in_set बनते हैं, इसलिए mixed-case अनुमत है। is_this_http_method_supported(-1) false है। METHOD_NOT_SUPPORTED ProxyMode_t::TUNNELLING सेट करता है और true लौटाता है। दस्तावेज़ कहते हैं कि ATS अज्ञात methods को origin तक अग्रेषित करता है। TUNNELLING में cache lookup छोड़ दिया जाता है।

HTTP/2 :method बिना किसी case जाँच के HTTPHdr::method_set -> hdrtoken_tokenize से होकर जाता है। H2 delete DELETE बन जाता है और अस्वीकार कर दिया जाता है। यह बचा हुआ मामला HTTP/1 का है।

गलत रास्ते: RFC 9110 के case-sensitive origins को यह मान लेना कि deny सूची को निष्प्रभावी बना देता है (ATS cache PURGE/PUSH बंद ही रहते हैं; origin DELETE/TRACE ही बचा हुआ मामला है); 127.0.0.1 से curl करना (allow ALL); cache purge का दावा करना; hop-by-hop को फिर से दर्ज करना।

नाटक: एक reverse shell। oracle, uppercase 403 के बाद origin पर एक witness string है।

Lab

python3 ats-ipallow-method-case-Abraxas-Labs.py

or

cd lab
./run.sh

Loopback 127.0.0.1:18710. Compose प्रोजेक्ट ats-ipallow-method-case. इमेज ats-10.2.0-lab:local (10.2.0 का सोर्स बिल्ड). 172.x पर हमलावर साइडकार ताकि localhost ALL deny को छिपा न सके. Origin method case को फोल्ड करता है. विटनेस ATS-IPALLOW-METHOD-CASE-WITNESS. अंतिम पंक्ति:

SUCCESS ats-ipallow-method-case how=live control=DELETE/TRACE-403 poc=delete/DeLeTe/trace-tunneled cache-purge-push=closed ATS-IPALLOW-METHOD-CASE-WITNESS

समाधान

HTTP/1 मेथड्स को उसी तरह टोकनाइज़ करें जैसे YAML और HTTP/2 पहले से करते हैं (nocase), या अज्ञात-मेथड TUNNEL से पहले ip_allow.yaml के deny नामों को nocase में मिलाएँ। cache PURGE/PUSH को well-known wksidx पर ही रखें। किसी अस्वीकृत well-known मेथड के case variant को नया मेथड न मानें।

संदर्भ

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