Lab: 2FA broken logic

Mô tả

Xác thực hai yếu tố của phòng thí nghiệm này dễ bị tấn công do logic sai sót. Để giải quyết phòng thí nghiệm, hãy

  • Thông tin đăng nhập của bạn:wiener:peter

  • Tên người dùng của nạn nhân:carlos

Mục tiêu: Truy cập trang tài khoản của Carlos.

Phân tích

Đăng nhập vào tài khoản đã có và nhập security code

Không còn lỗ hổng trên URL khi ta thay đổi id

Sẽ tự chuyển hướng sang trang login

Kiểm tra Proxy bằng Burp Suite, ta thấy có một request GET /login2 dùng để yêu cầu gửi mail chứa security code sau khi đã xác thực user. Gửi request này đến Repeater. Thử thay đổi tên người dùng t

Ứng dụng trả về Incorrect security code, đây là một lỗ hổng

Giải pháp

Gửi GET /login2đến Burp Repeater. Thay đổi giá trị của tham số verify thành carlosvà gửi yêu cầu. Điều này đảm bảo rằng mã 2FA tạm thời được tạo cho Carlos.

Mở response trong trình duyệt và gửi một mã xác thực sai. Gửi POST /login2 request tới Intruder để , tiếp tục thay đổi giá trị của tham số verify thành carlos để brute force mfa-code của người dùng carlos (xóa phần session)

Tìm phản hồi cho status code 302

Ở đây để nhanh chóng có thể sử dụng Turbo Intruder

Payload có thể tạo bằng https://numbergenerator.org/

Tìm phản hồi có Status code 302

Mở phản hồi trong trình duyệt

Last updated