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 प्रत्यय के रूप में मिलाता है

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - cakephp-cookie-suffix

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

राइट-अप: https://abraxaslabs.tech/research/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 नहीं
वर्गकुकी लीक / प्लांट (रेगेक्स सफ़िक्स डोमेन मैच)
पहुँचरिमोट (ऐप होस्ट्स पर 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 कुकी मिलान एक रेगेक्स सफ़िक्स है:

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

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

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

लैब

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

या

cd lab
./run.sh

Git clone टैग 5.4.2 (887b641de9f7aba06071f98f17edcbc573cbcf63) PHP 8.3 में। Loopback oracle HTTP 127.0.0.1:19420 पर। किसी अतिरिक्त HTTP origin की आवश्यकता नहीं है; oracle pin से 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/ से addFromResponse Set-Cookie: sid=x; Domain=victim.internal; Path=/ के साथ। अगला 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 डोमेन-मैच
  • CWE-565 · CWE-201

लाइसेंस

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

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