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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cakephp-cookie-suffix — CakePHP 5.4.2 - उच्च - रिमोट - कुकी - Http Client कुकी जार डोमेन को regex प्रत्यय के रूप में मिलाता है | Kitploit
उपकरण/GitHubGitHub/abraxas/cakephp-cookie-suffix
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणजानकारी एकत्र करनावेब सुरक्षापेपर और शोध
GitHubabraxas/cakephp-cookie-suffix

cakephp-cookie-suffix

CakePHP 5.4.2 - उच्च - रिमोट - कुकी - Http Client कुकी जार डोमेन को regex प्रत्यय के रूप में मिलाता है

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - cakephp-cookie-suffix

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  cakephp-cookie-suffix

cakephp-cookie-suffix

वर्ग: कुकी लीक / प्लांट पहुँच: रिमोट

CakePHP 5.4.2 (887b641) - Cake Software Foundation

CookieCollection::findMatchingCookies preg_match('/' . preg_quote($domain) . '$/', $host) का उपयोग करता है। यह एक स्ट्रिंग सफ़िक्स है, RFC 6265 डोमेन-मैच नहीं। api.partner.com के लिए एक कुकी evilapi.partner.com को भेजी जाती है। bank.com के लिए एक कुकी notbank.com को भेजी जाती है।

Cookie::createFromHeaderString() भी Set-Cookie Domain= को प्रतिक्रिया होस्ट के विरुद्ध किसी जाँच के बिना कॉपी करता है। attacker.test से Domain=victim.internal के साथ addFromResponse उस कुकी को संग्रहीत करता है और बाद में इसे victim.internal से जोड़ता है।

एक ऐप जो डिफ़ॉल्ट जार के साथ Cake\Http\Client का उपयोग एक से अधिक होस्ट पर करता है, एक पार्टनर सेशन कुकी को सफ़िक्स-भ्रमित सहोदर को लीक कर सकता है, या हमलावर URL प्राप्त करने के बाद आंतरिक होस्ट पर एक कुकी प्लांट कर सकता है। other.com मेल नहीं खाता। यह ब्राउज़र कुकी बग नहीं है। स्टॉक cakephp/app स्वयं दूसरे होस्ट को कॉल नहीं करता।

IDअभी तक कोई CVE नहीं
वर्गकुकी लीक / प्लांट (regex सफ़िक्स डोमेन मैच)
पहुँचरिमोट (ऐप होस्ट्स पर Http Client जार का उपयोग करता है)
CWECWE-565, CWE-201
CVSSउच्च: 8.2 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N
उत्पादCakePHP
प्रभावित5.4.2 (887b641de9f7aba06071f98f17edcbc573cbcf63)
प्रमाणीकरणऐप होस्ट्स पर डिफ़ॉल्ट कुकी जार के साथ Cake\Http\Client का उपयोग करता है
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1

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

एक ऐसे एप्लिकेशन की आवश्यकता है जो एक से अधिक होस्ट पर Cake\Http\Client कुकीज़ रखता है (OAuth, वेबहुक, उपयोगकर्ता-प्रदत्त URL, दूसरा API)।

विशेषाधिकारविधि / सिंकलैब-प्रमाणित या अनुमानित
संग्रहीत कुकी को सफ़िक्स-भ्रमित सहोदर को लीक करनाapi.partner.com डोमेन वाली कुकी के बाद https://evilapi.partner.com/ के लिए CookieCollection::addToRequestलैब-प्रमाणित। अनुरोध Cookie sid=SECRET है। RFC 6265 मेल नहीं खाएगा
पंजीकरण योग्य सफ़िक्स के लिए समान लीककुकी डोमेन bank.com, अनुरोध होस्ट notbank.comलैब-प्रमाणित। अनुरोध Cookie sid=SECRET है
नकारात्मक नियंत्रणअनुरोध होस्ट other.comलैब-प्रमाणित। कोई Cookie हेडर नहीं
आंतरिक होस्ट के लिए कुकी प्लांट करनाhttps://attacker.test/ से Set-Cookie: sid=x; Domain=victim.internal का addFromResponseलैब-प्रमाणित। संग्रहीत डोमेन victim.internal है; उस होस्ट को अगला अनुरोध sid=x भेजता है
अगली Client कॉल पर सेशन फिक्सेशन / चोरी किया गया पार्टनर सेशनप्लांटेड या लीक किया गया sid API सेशन के रूप में उपयोग किया गयाअनुमानित। लैब Cookie हेडर ओरेकल पर रुकती है
समान-होस्ट भेजना अभी भी काम करता हैकुकी डोमेन api.partner.com से होस्ट api.partner.comलैब-प्रमाणित। अपेक्षित, बग नहीं

इस अवशेष पर बंद: other.com मेल नहीं खाता। ब्राउज़र कुकी जार यह बग नहीं हैं। कोई शेल नहीं। स्केलेटन ऐप पर अनप्रमाणित RCE नहीं।

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

मैंने GHSA-2qh5, GHSA-fxf7, GHSA-vjqc, और 5.4.2 filename= नोट के बाद cakephp/cakephp 5.4.2 को पिन किया। Http Client कुकी मैचिंग एक regex सफ़िक्स है:

$pattern = '/' . preg_quote($domain, '/') . '$/';
if (!preg_match($pattern, $host)) {
    continue;
}

addFromResponse अनुरोध होस्ट को केवल डिफ़ॉल्ट के रूप में पास करता है। Set-Cookie से एक Domain= एट्रिब्यूट इसे ओवरराइट करता है और संग्रहीत किया जाता है।

पहले से दर्ज गलत मोड़: इसे ब्राउज़र कुकी बग मानना; यह दावा करना कि other.com भी मेल खाता है; Cookie हेडर ओरेकल को ATO तक बढ़ाना बिना ऐसे ऐप के जो होस्ट्स पर जार का उपयोग करता हो। नाटक: एक रिवर्स शेल।

लैब

python3 cakephp-cookie-suffix-Abraxas-Labs.py

या

cd lab
./run.sh

PHP 8.3 में Git क्लोन टैग 5.4.2 (887b641de9f7aba06071f98f17edcbc573cbcf63)। 127.0.0.1:19420 पर लूपबैक ओरेकल HTTP। कोई अतिरिक्त HTTP ओरिजिन आवश्यक नहीं; ओरेकल पिन से CookieCollection चलाता है।

  1. sid=SECRET डोमेन api.partner.com जोड़ें। addToRequest https://evilapi.partner.com/ -> Cookie: sid=SECRET।
  2. नियंत्रण https://other.com/ -> कोई Cookie हेडर नहीं।
  3. समान होस्ट https://api.partner.com/ अभी भी sid=SECRET भेजता है।
  4. अतिरिक्त सफ़िक्स bank.com -> https://notbank.com/ sid=SECRET भेजता है।
  5. https://attacker.test/ से Set-Cookie: sid=x; Domain=victim.internal; Path=/ के साथ addFromResponse। अगला https://victim.internal/ sid=x भेजता है।
SUCCESS cakephp-cookie-suffix suffix-leak=yes control-other=yes plant-domain=yes how=cakephp-5.4.2 CAKEPHP-COOKIE-SUFFIX-WITNESS

समाधान

RFC 6265 डोमेन-मैच (host === domain || str_ends_with($host, '.' . $domain))। जब Domain छोड़ा जाए तो होस्ट-ओनली कुकीज़। अनुरोध होस्ट से डोमेन-मैच न करने वाले Domain को अस्वीकार करें। सार्वजनिक सफ़िक्स को अस्वीकार करें।

संदर्भ

  • github.com/cakephp/cakephp टैग 5.4.2 (887b641de9f7aba06071f98f17edcbc573cbcf63)
  • src/Http/Cookie/CookieCollection.php · src/Http/Cookie/Cookie.php
  • RFC 6265 domain-match
  • CWE-565 · CWE-201

लाइसेंस

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

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