Kiểm tra trường hợp bỏ qua xác thực

Một phần của tài liệu Quy trình đánh giá an toàn và bảo mật website (Trang 32)

Trong khi hầu hết các ứng dụng yêu cầu xác thực để đạt được quyền truy cập vào thông tin cá nhân hoặc để thực hiện các nhiệm vụ, không phải mọi phương pháp xác thực là có thể cung cấp bảo mật đầy đủ. Sơ suất, thiếu hiểu biết, hoặc cách nói đơn giản của các mối đe dọa an ninh thường dẫn đến việc xác thực có thể được bỏ qua

Một số phương pháp đơn giản bỏ qua xác thực : • Thay đổi tham số

• Dự đoán Session ID

• Trực tiếp yêu cầu một trang được bảo vệ thông qua address bar trong trình duyệt.

• Sql injection

b) Kiểm tra lỗ hổng ghi nhớ mật khẩu

Trình duyệt đôi khi sẽ yêu cầu người dùng rằng họ có thể ghi nhớ mật khẩu nếu muốn. Sau đó trình duyệt sẽ lưu mật khẩu ,và tự động nhập nó vào bất cứ khi nào các hình thức xác thực giống nhau được truy cập

Đây không chỉ là một tiện nghi cho người sử dụng mà còn cho kẻ tấn công. Nếu kẻ tấn công có thể được truy cập vào trình duyệt của nạn nhân (ví dụ như thông qua một cuộc tấn công Cross Site Scripting, hoặc thông qua một máy tính dùng chung), thì họ có thể lấy được mật khẩu lưu trữ .

Cách kiểm tra :

• Tìm mật khẩu được lưu trữ trong một cookie. Kiểm tra các tập tin cookie được lưu trữ bởi các ứng dụng. Xác minh rằng các thông tin không được lưu trữ rõ ràng trong văn bản, có sử dụng hàm băm

• Kiểm tra các cơ chế băm

• Xác minh rằng các chứng chỉ được gửi trong giai đoạn login, và không được gửi kèm với mỗi yêu cầu đến ứng dụng.

mật an toàn ứng dụng web

• Hãy xem xét các trường hợp nhạy cảm khác (ví dụ như một câu trả lời cho một câu hỏi bí mật mà phải được nhập vào một khôi phục mật khẩu hoặc tài khoản mở khóa theo mẫu).

• Kiểm tra thuộc tính autocomplete : autocomplete là chức năng của trình duyệt cho phép ghi nhớ các ký tự hay password vào biểu mẫu (form) trên trang web và tự động điền lại vào những lần sau. Thuộc tính này có hai giá trị “on” và “off” tương đương có cho phép sử dụng autocomplete không.Nếu form password không có giá trị hay giá trị là “on” thì password có thể lưu trữ trong trình duyệt và truy xuất . Kiểm tra thuộc tính này trong mã nguồn html trang đăng nhập cho form password .

c) Kiểm tra cơ chế khóa tài khoản

Cơ chế khóa tài khoản được sử dụng để giảm thiểu các cuộc tấn công brute force mật khẩu . Tài khoản thường được khóa sau 3-5 lần đăng nhập không thành công và chỉ có thể được mở khóa sau một thời gian nhất định , thông qua một cơ chế mở khóa tự phục vụ, hoặc can thiệp của quản trị viên. Cơ chế khóa tài khoản đòi hỏi một sự cân bằng giữa bảo vệ tài khoản khỏi những truy cập trái phép và bảo vệ người dùng khỏi bị từ chối truy cập được ủy quyền. Để đánh giá năng lực của cơ chế khóa tài khoản để giảm thiểu tấn công brute force mật khẩu, cố gắng login không hợp lệ bằng cách sử dụng mật khẩu không chính xác một số lần, trước khi sử dụng mật khẩu đúng để xác minh rằng tài khoản đã bị khóa ra. Một ví dụ có thể kiểm tra như sau:

• Cố gắng để đăng nhập với một mật khẩu sai 3 lần.

• Thành công đăng nhập với mật khẩu chính xác, qua đó cho thấy rằng cơ chế khóa không kích hoạt sau khi 3 lần chứng nhận không chính xác.

• Cố gắng đăng nhập bằng mật khẩu không chính xác 4 lần.

• Thành công đăng nhập với mật khẩu chính xác, qua đó cho thấy rằng cơ chế khóa không kích hoạt sau khi 4 lần chứng nhận không chính xác.

• Cố gắng để đăng nhập với một mật khẩu sai 5 lần.

• Cố gắng để đăng nhập với mật khẩu chính xác. Các ứng dụng trả về "Tài khoản của bạn đã bị khóa.", Qua đó xác nhận rằng tài khoản bị khóa ra sau 5 lần xác thực không đúng.

• Cố gắng đăng nhập bằng mật khẩu đúng 5 phút sau đó. Các báo ứng dụng "Tài khoản của bạn đã bị khóa.", Qua đó cho thấy rằng cơ chế khóa không tự động mở khóa sau 5 phút.

• Cố gắng đăng nhập bằng mật khẩu đúng 10 phút sau đó. Các báo ứng dụng "Tài khoản của bạn đã bị khóa.", Qua đó cho thấy rằng cơ chế khóa không tự động mở khóa sau 10 phút.

mật an toàn ứng dụng web

• Thành công đăng nhập với mật khẩu chính xác 15 phút sau đó, qua đó cho thấy rằng cơ chế khóa tự động mở khóa sau một khoảng thời gian 10-15 phút.

d) Kiểm tra việc quản lý bộ nhớ cache của trình duyệt

Kiểm tra rằng trình duyệt không nhớ dữ liệu nhạy cảm của ứng dụng web Trình duyệt có thể lưu trữ thông tin cho các mục đích của bộ nhớ đệm và lịch sử, có thể phục hồi được thông qua kiểm tra bộ nhớ cache của trình duyệt hoặc bằng cách đơn giản nhấn nút "Back" của trình duyệt.

Các thử nghiệm đầu tiên và đơn giản nhất bao gồm nhập thông tin nhạy cảm vào ứng dụng và đăng xuất. Sau đó, các thử nhấp chuột vào nút "Back" của trình duyệt để kiểm tra xem trước hiển thị thông tin nhạy cảm có thể được truy cập trong khi thẩm định.

Ở đây để kiểm tra xem các ứng dụng có bị rò rỉ bất kỳ dữ liệu nhạy cảm vào bộ nhớ cache của trình duyệt họ có thể sử dụng một proxy (như WebScarab) và tìm kiếm thông qua các phản ứng server response thuộc về phiên, kiểm tra rằng đối với mỗi trang có chứa thông tin nhạy cảm của máy chủ chỉ thị cho các trình duyệt không nhớ bất kỳ dữ liệu. Một chỉ thị như vậy có thể được ban hành trong các HTTP response headers. (adsbygoogle = window.adsbygoogle || []).push({});

• Cache-Control: no-cache, no-store • Expires: 0

• Pragma: no-cache

II.4.5 QUY TRÌNH KIỂM TRA CÁC VẤN ĐỀ PHÂN QUYỀN CỦA ỨNG DỤNG WEB. ỨNG DỤNG WEB.

Một phần của tài liệu Quy trình đánh giá an toàn và bảo mật website (Trang 32)