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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cakephp-trusted-proxies — CakePHP 5.4.2 - उच्च - रिमोट - प्रॉक्सी - trustedProxies किसी भी REMOTE_ADDR से X-Forwarded-* का सम्मान करता है | Kitploit
उपकरण/GitHubGitHub/abraxas/cakephp-trusted-proxies
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणसुरक्षा वर्चुअलाइजेशनवेब सुरक्षापेनिट्रेशन टेस्टिंग
GitHubabraxas/cakephp-trusted-proxies

cakephp-trusted-proxies

CakePHP 5.4.2 - उच्च - रिमोट - प्रॉक्सी - trustedProxies किसी भी REMOTE_ADDR से X-Forwarded-* का सम्मान करता है

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - cakephp-trusted-proxies

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

राइट-अप: https://abraxaslabs.tech/research/cakephp-trusted-proxies

cakephp-trusted-proxies

वर्ग: HTTPS रीडायरेक्ट बायपास / IP-होस्ट स्पूफ पहुँच: रिमोट

CakePHP 5.4.2 (887b641) - Cake Software Foundation

trustedProxies => ['10.0.0.1'] के साथ HttpsEnforcerMiddleware setTrustedProxies को कॉल करता है, जो trustProxy = true सेट करता है और सूची की तुलना REMOTE_ADDR से कभी नहीं करता। इसके बाद, scheme(), host(), और clientIp() हमलावर के X-Forwarded-Proto / X-Forwarded-For / X-Forwarded-Host / X-Real-IP को मान्य करते हैं।

डिफ़ॉल्ट मिडलवेयर में trustedProxies null होता है और यह इसे सक्षम नहीं करता। दस्तावेज़ीकृत लोड-बैलेंसर सेटअप ही उजागर मामला है। एक अनप्रमाणित HTTP क्लाइंट जो सूचीबद्ध प्रॉक्सी नहीं है, HTTPS रीडायरेक्ट को छोड़ सकता है और क्लाइंट IP तथा Host को स्पूफ कर सकता है।

IDअभी तक कोई CVE नहीं
वर्गHTTPS रीडायरेक्ट बायपास / IP-होस्ट स्पूफ
पहुँचरिमोट (अनप्रमाणित HTTP; ऐप ने trustedProxies सेट किया)
CWECWE-441, CWE-346
CVSSउच्च: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N
उत्पादCakePHP
प्रभावित5.4.2 (887b641de9f7aba06071f98f17edcbc573cbcf63)
प्रमाणीकरणकोई नहीं। ऐप ने HttpsEnforcerMiddleware trustedProxies सेट किया
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1

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

ऐसे ऐप की आवश्यकता है जिसने trustedProxies सक्षम किया हो (विशिष्ट रिवर्स-प्रॉक्सी HTTPS प्रवर्तन)। सूचीबद्ध प्रॉक्सी IP से कनेक्ट करने की आवश्यकता नहीं है।

विशेषाधिकारविधि / सिंकलैब-प्रमाणित या अनुमानित
HTTPS रीडायरेक्ट / HSTS पथ छोड़ेंX-Forwarded-Proto: https के साथ GET / HTTPलैब-प्रमाणित। 200, scheme=https, JSON में साक्ष्य
clientIp() स्पूफ करेंX-Forwarded-For: 203.0.113.50लैब-प्रमाणित। client_ip=203.0.113.50
host() स्पूफ करेंX-Forwarded-Host: spoof.invalidलैब-प्रमाणित। host=spoof.invalid
X-Real-IP के माध्यम से स्पूफ करेंX-Real-IP: 198.51.100.9लैब-प्रमाणित। client_ip=198.51.100.9
clientIp() पर आधारित IP ACL / रेट लिमिट को बायपास करेंवही स्पूफअनुमानित। RateLimitMiddleware का डिफ़ॉल्ट remote_addr यह बग नहीं है
नेगेटिव कंट्रोल/control पर वही फ़ॉरवर्डेड हेडर (कोई trustedProxies नहीं)लैब-प्रमाणित। अभी भी https पर 301

इस अवशेष पर बंद: डिफ़ॉल्ट trustedProxies => null; लैब में REMOTE_ADDR स्वयं अभी भी Docker ब्रिज IP है (192.168.208.1, सूचीबद्ध 10.0.0.1 नहीं)। RCE नहीं। कुकी-जार बग नहीं।

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

मैंने cakephp/cakephp 5.4.2 को पिन किया। ServerRequest::setTrustedProxies():

public function setTrustedProxies(array $proxies): void
{
    $this->trustedProxies = $proxies;
    $this->trustProxy = true;
    $this->uri = $this->uri->withScheme($this->scheme());
}

HttpsEnforcerMiddleware इसे तब कॉल करता है जब trustedProxies non-null हो। सूचीबद्ध IPs को बाद में XFF श्रृंखला पर array_diff के रूप में उपयोग किया जाता है, न कि कनेक्टिंग पीयर की जाँच के रूप में।

पहले से दर्ज गलत मोड़: डिफ़ॉल्ट middleware को इस अवशेष के रूप में मानना (ऐसा नहीं है); RateLimitMiddleware x-forwarded-for को वही बग कहना (5.4.1 bakery ने पहले ही उस डिफ़ॉल्ट को remote_addr पर स्थानांतरित कर दिया है); यह दावा करना कि REMOTE_ADDR स्वयं spoofed था। नाटक: एक reverse shell।

Lab

python3 cakephp-trusted-proxies-Abraxas-Labs.py

या

cd lab
./run.sh

Composer cakephp/cakephp 5.4.2 PHP 8.3 में। छोटा ऐप: / trustedProxies => ['10.0.0.1'] का उपयोग करता है; /control नहीं करता। 127.0.0.1:19430 पर लूपबैक HTTP।

  1. GET / बिना फ़ॉरवर्डेड हेडर के -> 301 https।
  2. GET /control proto/for/host/real-ip के साथ -> 301 https।
  3. GET / X-Forwarded-Proto: https के साथ -> 200, scheme https, trust_proxy=true, REMOTE_ADDR 10.0.0.1 नहीं है।
  4. GET / XFF + Host के साथ -> client_ip=203.0.113.50, host=spoof.invalid।
  5. GET / X-Real-IP के साथ -> client_ip=198.51.100.9।
SUCCESS cakephp-trusted-proxies pin=5.4.2 how=app remote-addr=192.168.208.1 listed-proxy=10.0.0.1 proto-bypass=200 control-redirect=301 client-ip=203.0.113.50 host=spoof.invalid x-real-ip=198.51.100.9 CAKEPHP-TRUSTED-PROXIES-WITNESS

समाधान

केवल तब forwarded headers को मान्यता दें जब REMOTE_ADDR trusted-proxy सूची में हो (Symfony isFromTrustedProxy())। खाली सूची को विश्वास सक्षम नहीं करना चाहिए।

संदर्भ

  • github.com/cakephp/cakephp टैग 5.4.2 (887b641de9f7aba06071f98f17edcbc573cbcf63)
  • src/Http/ServerRequest.php · src/Http/Middleware/HttpsEnforcerMiddleware.php
  • CWE-441 · CWE-346

लाइसेंस

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

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