Giới thiệu
Tính năng đổi mật khẩu đƣợc sử dụng rộng rãi trong các ứng dụng nói chung và ứng dụng web nói riêng. Lỗi trong logic thực hiện tính năng đổi mật khẩu trong ứng dụng
62 AOL AIM Enterprise Gateway của một công ty dịch vụ tài chính cho phép tin tặc đổi mật khẩu của ngƣời dùng và lạm dụng tài khoản của họ.
Với tính năng đổi mật khẩu cho ngƣời dùng, hệ thống yêu cầu ngƣời dùng cung cấp tên truy nhập, mật khẩu hiện tại, mật khẩu mới và nhắc lại mật khẩu mới. Với tính năng đổi mật khẩu cho ngƣời quản trị, hệ thống cho phép ngƣời quản trị đổi mật khẩu cho các ngƣời dùng khác mà không cần nhập mật khẩu của họ. Hệ thống chỉ yêu cầu ngƣời quản trị cung cấp tên truy nhập và mật khẩu mới.
Giả thiết
Giao diện đổi mật khẩu cho ngƣời dùng và cho ngƣời quản trị chỉ khác biệt ở chỗ, giao diện đổi mật khẩu cho ngƣời quản trị không có trƣờng mật khẩu hiện tại. Phần cài đặt giả thiết là ngƣời dùng luôn nhập mật khẩu hiện tại và nếu mật khẩu hiện tại rỗng thì đó là ngƣời quản trị. Mã thực thi có dạng nhƣ sau:
Tấn công
Kẻ tấn công có thể sử dụng một tài khoản thƣờng và tạo ra các yêu cầu đổi mật khẩu không có trƣờng mật khẩu hiện tại để đánh lừa hệ thống. Khi mật khẩu hiện tại rỗng, hệ thống coi ngƣời dùng là ngƣời quản trị và cho phép đổi mật khẩu. Bằng kỹ thuật này, Kẻ tấn công có thể đổi mật khẩu của ngƣời dùng bất kỳ và lạm dụng tài khoản của họ.
Phòng chống
Điều cần thiết là tách giao diện đổi mật khẩu cho ngƣời quản trị khỏi giao diện đổi mật khẩu cho ngƣời dùng. Ngoài ra, cần kiểm tra chặt chẽ quyền truy nhập khi tính năng đổi mật khẩu cho ngƣời quản trị đƣợc sử dụng.