
pfSense CE 2.9.0-DEVELOPMENT - मध्यम - रिमोट - XSS - CP फ़ाइलनाम संग्रहीत XSS
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · pfsense-cp-filename-xss
Class: XSS Reach: Remote
pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org
फ़ाइलनाम डिफ़ॉल्ट लॉगिन HTML पर / CSS url(...) में बिना किसी एन्कोडिंग के इंटरपोलेट होता है। पोर्टल ओरिजिन GUI ओरिजिन नहीं है। SA-26_05 GUI विजेट है।
| ID | अभी तक कोई CVE नहीं |
| Class | XSS |
| Reach | Remote (जब तक अन्यथा न कहा जाए, प्रमाणित WebGUI) |
| CWE | CWE-79 |
| CVSS | Medium: 6.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N |
| Product | pfSense CE |
| Affected | 2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) |
| Auth | WebGUI सत्र जिसमें plant with page-services-captiveportal-filemanager; victim is an unauth portal client |
| License | GNU Affero GPL v3.0 |
| Lab | केवल 127.0.0.1 |
मैंने सार्वजनिक मास्टर 9363ac5 को पिन किया। लैब पिन किए गए सिंक का एक PHP गैजेट है, 127.0.0.1:19110 पर लूपबैक HTTP।
श्रृंखला राइट-अप: https://abraxaslabs.tech/research/pfsense-ce-leftovers
| Method | Sink | Privilege |
|---|---|---|
| POST file-manager name, फिर unauth GET portal login HTML | get_default_captive_portal_html img src={$logo_src} | Integrity: अनुमानित: पोर्टल लॉगिन पर स्क्रिप्ट उस पृष्ठ पर auth_user / auth_pass पढ़ सकती है। |
| वही अवशेष | वही सिंक | Recon: लैब-प्रमाणित: unauth पोर्टल HTML में कच्चा onerror= प्लस witness। GUI सूची htmlspecialchars ने उसी नाम को एन्कोड किया। |
| वही अवशेष | वही सिंक | Availability: कोई नहीं दिखाया गया। |
आवश्यक: plant with page-services-captiveportal-filemanager; victim is an unauth portal client. जब तक अन्यथा न कहा जाए, POST पर CSRF-magic। WebGUI PHP-FPM रूट है।
आवश्यक: plant with page-services-captiveportal-filemanager; victim is an unauth portal client. जब तक अन्यथा न कहा जाए, POST पर CSRF-magic। WebGUI PHP-FPM रूट है। जब तक अन्यथा न कहा जाए, POST पर CSRF-magic। WebGUI PHP-FPM रूट है।
GUI कुकीज़। फ़ाइल-मैनेजर सूची एन्कोड। SA-26_05 विजेट।
कोई Diagnostics: Command नहीं, जब तक वह पृष्ठ भी अनुदत्त न हो।
cd lab
./run.sh
लूपबैक 127.0.0.1:19110. Compose प्रोजेक्ट pfsense-cp-filename-xss. Witness PFSENSE-CP-FILENAME-XSS-WITNESS. केवल लूपबैक: 127.0.0.1:19110. Compose प्रोजेक्ट pfsense-cp-filename-xss. Witness PFSENSE-CP-FILENAME-XSS-WITNESS. पिन की गई पंक्तियों का PHP गैजेट। रन के बाद स्टैक टूट जाता है।
अंतिम पंक्ति:
SUCCESS PFSENSE-CP-FILENAME-XSS control-inert=yes trigger-raw=yes witness-unescaped=yes gui-cookie-theft=no PFSENSE-CP-FILENAME-XSS-WITNESS
पोर्टल HTML में फ़ाइलनाम को htmlspecialchars करें। अपलोड charset को प्रतिबंधित करें।
9363ac5b8651a1c7a333180425ce7719070f95f9