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-* का सम्मान करता है

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - cakephp-trusted-proxies

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

cakephp-trusted-proxies

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

CakePHP 5.4.2 (887b641) - Cake Software Foundation

HttpsEnforcerMiddleware जिसमें trustedProxies => ['10.0.0.1'] है, 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
CVSSHigh: 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 पथ छोड़ेंGET / HTTP के साथ X-Forwarded-Proto: httpsलैब-प्रमाणित। 200, scheme=https, JSON में witness
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 के रूप में उपयोग किए जाते हैं, कनेक्टिंग पीयर की जाँच के रूप में नहीं।

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

लैब

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

या

cd lab
./run.sh

PHP 8.3 में Composer cakephp/cakephp 5.4.2। छोटा ऐप: / 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

समाधान

फॉरवर्डेड हेडर को केवल तब मानें जब REMOTE_ADDR ट्रस्टेड-प्रॉक्सी सूची में हो (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। केवल लूपबैक लैब। कोई वारंटी नहीं।

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