Quản lý quyền không đúng cách dẫn đến leo thang đặc quyền trong Chamilo LMS

Giới thiệu: 

Vào 04/22/2020 mình muốn tìm CVE cho bản thân, loay hoay một hồi thì chọn Chamilo LMS. Đây là lỗ hổng thứ hai được tôi tìm thấy trên Chamilo LMS 1.11.10, tôi đã rất kỳ vọng vào lỗ hổng này được chấm điểm cao, nhưng cái kết là Chamilo không biết cách để gán CVE cho tôi, so sad :3

Tôi thường viết blog với phong cách vui vẻ, nghịch ngợm, nhưng hôm nay tôi sẽ thử viết theo thanh niên nghiêm túc style. Liên miên như người điên vậy đủ rồi, let's exploit.

Môi trường:

Version tested: Chamilo LMS 1.11.10 for PHP 7.3. 

Web server: apache webserver-Apache/2.4.41 (Debian).

Vấn đề: Cho phép người dùng có quyền Sessions administrator có thể tạo mới người dùng với quyền administrator.

PoC:

Bước 1: Đăng nhập với tài khoản 'abcd' với quyền Sessions administrator.

20200929095830819.png


Bước 2: Tạo một user mới có tên là '654'.

2020092909583415.png


Bước 3: Click vào button để edit '654'.

20200929095838466.png


Bước 4: Bật Burp Suite lên và click save. Sau đó, chỉnh sửa phần requet body như sau:

2020092909584334.png


Bước 5: Đăng nhập vào tài khoản '654'. BÙM!! Bây giờ '654' là administrator.

20200929095850609.png


Okay, done! 

Cuối blog tôi muốn nói lời cảm ơn đến người bạn mới của tôi, Hoàng Kiên. Cậu ấy đã giúp đỡ tôi rất nhiều trong khi khai thác lỗ hổng này.

Tham khảo: ở đây.