Lab: Password brute-force via password change

Mô tả

Phòng thí nghiệm này dễ bị đầu độc đặt lại mật khẩu. Người dùng carlossẽ vô tình nhấp vào bất kỳ liên kết nào trong email mà họ nhận được. Bạn có thể đăng nhập vào tài khoản của riêng mình bằng thông tin đăng nhập sau: wiener:peter. Bất kỳ email nào được gửi đến tài khoản này đều có thể được đọc qua ứng dụng email trên máy chủ khai thác.

Mục tiêu: Đăng nhập vào tài khoản Carlos

Phân tích

Kiểm tra chức năng Forgot password? với tài khoản đã biết

Khi người dùng nhập đủ thông tin sẽ nhận được link trong email client đẻ reset mật khẩu

Truy cập link và đặt lại mật khẩu. Thử gửi lại POST /forgot-password với Burp Repeater nhưng không thành công.

Điều này cho thấy temp-forgot-password-token là động và thay đổi trên mỗi request đặt lại mật khẩu

Nhưng nó được chứa trong URL, nên nếu request có thể được thao túng để trỏ đến exploit server, nó sẽ được ghi trong access log của exploit server

X-Forwarded-Host header được hỗ trợ và có thể dùng nó để trỏ đến exploit server .

Và email nhận được có link sẽ trỏ đến exploit server

Khi người dùng nhấp vào đường dẫn, sẽ có thông báo lỗi trả về

Trong khi đó trên exploit server ta sẽ nhận được log chứa thông tin đường dẫn reset mật khẩu của người dùng đó

Đến đây đã giải quyết bài toán token

Giải pháp

Đăng xuất. Đổi tên người dùng thành carlos và gửi lại request

Đứng như mô tả, carlossẽ vô tình nhấp vào bất kỳ liên kết nào trong email mà họ nhận được.

Last updated