Bài đăng

Đang hiển thị bài đăng từ Tháng 12, 2020

Authentication bypass vulnerability in Bouncy Castle

Hình ảnh
  Tổng quan -          Lỗ hổng có ID CVE: CVE-2020-28052 -          Lỗ hổng tồn tại trong class OpenBSDBcrypt của thư viện Bouncy Castle , lỗ hổng cho phép vượt qua xác thực. Class OpenBSDBcrypt sử dụng thuật toán Bcrypt để băm mật khẩu, nhưng trong phương thức kiểm tra mật khẩu của hàm OpenBSDBcrypt.doCheckPassword đã có sai sót dẫn đến kẻ tấn công có thể vượt qua xác thực. Nguyên nhân dẫn đến vượt qua xác thực trong hàm OpenBSDBcrypt.doCheckPassword -          Hàm doCheckPassword thực hiện một thuật toán kiểm tra thiếu sót, hàm này chỉ kiểm tra indexOf (vị trí đầu tiên của ký tự) từ 0 đến 59 thay vì kiểm tra các ký tự ở vị trí từ 0 đến 59 có khớp hay không. Cho nên kẻ tấn công không cần sử dụng mật khẩu khớp từng byte với giá trị băm được lưu trữ cũng có thể truy cập vào hệ thống. Hình thức tấn công -          Giá trị băm do hàm Bcrypt băm có độ dài 60 byte. Trong 60 byte đó sẽ chứa một trong 64 giá trị từ [“0-9”, “A-Z”, “a-z”, “.”, “/”] và có dạng như hình -