
pfSense CE 2.9.0-DEVELOPMENT - मध्यम - रिमोट - ओपन रीडायरेक्ट - HTTP 301 $http_host
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · pfsense-https-host-redirect
वर्ग: ओपन रीडायरेक्ट पहुँच: रिमोट
pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org
system.inc एक पोर्ट-80 server{} उत्सर्जित करता है जिसमें return 301 https://$http_host$redirectport$request_uri; होता है और कोई server_name नहीं होता। nginx php-fpm से पहले 301 लौटाता है, इसलिए auth.inc DNS-rebind कभी नहीं चलता।
| ID | अभी तक कोई CVE नहीं |
| वर्ग | ओपन रीडायरेक्ट |
| पहुँच | रिमोट (प्रमाणित WebGUI जब तक अन्यथा न कहा गया हो) |
| CWE | CWE-601 |
| CVSS | मध्यम: 4.7 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:N |
| उत्पाद | pfSense CE |
| प्रभावित | 2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) |
| प्रमाणीकरण | WebGUI सत्र जिसमें unauth client that can hit the WebGUI HTTP listener हो |
| लाइसेंस | GNU Affero GPL v3.0 |
| लैब | केवल 127.0.0.1 |
मैंने सार्वजनिक master 9363ac5 को पिन किया। लैब पिन किए गए sink का एक PHP गैजेट है, 127.0.0.1:19210 पर लूपबैक HTTP।
श्रृंखला लेख: https://abraxaslabs.tech/research/pfsense-ce-leftovers
| विधि | Sink | विशेषाधिकार |
|---|---|---|
| TCP/80 पर unauth GET / एक शत्रुतापूर्ण Host के साथ | nginx return 301 https://$http_host... | अखंडता: कोई नहीं। |
| वही अवशेष | वही sink | पुनर्ज्ञान: लैब-प्रमाणित: Host evil.example, Location https://evil.example/index.php बन गया। PHP DNS-rebind 501 इस 301 पर नहीं चलता। |
| वही अवशेष | वही sink | उपलब्धता: कोई नहीं दिखाया गया। |
आवश्यक: unauth client that can hit the WebGUI HTTP listener। POST पर CSRF-magic जब तक अन्यथा न कहा गया हो। WebGUI PHP-FPM root है।
आवश्यक: unauth client that can hit the WebGUI HTTP listener। POST पर CSRF-magic जब तक अन्यथा न कहा गया हो। WebGUI PHP-FPM root है। POST पर CSRF-magic जब तक अन्यथा न कहा गया हो। WebGUI PHP-FPM root है।
HTTPS GUI पर ही PHP DNS-rebind।
कोई Diagnostics: Command नहीं जब तक वह पृष्ठ भी अनुदत्त न हो।
cd lab
./run.sh
लूपबैक 127.0.0.1:19210। Compose प्रोजेक्ट pfsense-https-host-redirect। Witness PFSENSE-HTTPS-HOST-REDIRECT-WITNESS। केवल लूपबैक: 127.0.0.1:19210। Compose प्रोजेक्ट pfsense-https-host-redirect। Witness PFSENSE-HTTPS-HOST-REDIRECT-WITNESS। पिन की गई पंक्तियों का PHP गैजेट। रन के बाद स्टैक टूट जाता है।
अंतिम पंक्ति:
SUCCESS PFSENSE-HTTPS-HOST-REDIRECT control-localhost=yes trigger-evil=yes php-rebind-skips-301=yes PFSENSE-HTTPS-HOST-REDIRECT-WITNESS
कॉन्फ़िगर किया गया hostname, या $host (allowlisted) का उपयोग करें, $http_host का नहीं।
9363ac5b8651a1c7a333180425ce7719070f95f9