Các ca kiểm thử chỉ cần kiểm tra một lần trên toàn bộ hệ thống

Một phần của tài liệu (LUẬN văn THẠC sĩ) xây dựng các ca kiểm thử an toàn thông tin cho ứng dụng web (Trang 29 - 34)

Mã ca

kiểm thử Mục đích kiểm thử Các bƣớc thực hiện mong muốn Kết quả Ghi chú

CHỨC NĂNG: Các case chỉ kiểm tra 1 lần trên cả hệ thống

Mỗi case phải check 1 lần duy nhất trên cả hệ thống

F1_R5_1

Session Hijacking (Kiểm tra lỗi 2 tài khoản, 2 trình duyệt, trên cùng 1 máy)

1. Trên Firefox: Đăng nhập vào hệ thống với Tài khoản A có quyền cao hơn tài khoản B

2. Trên Chrome: Đăng nhập vào hệ thống với Tài khoản B

3. Trên Firefox: Dùng tiện ích để lấy cookie của tài khoản A: Firebug/ Net/ Click Link/ cookies

4. Trên Chrome:

+ Delete cookies cũ (F12/ resources/ cookies/ địa chỉ hệ thống đang test/ Chuột phải vào cookies/ delete)

+ Thay cookie của tài khoản B bằng cookie của tài khoản A và lƣu lại (document.cookie = "JSESSIONID =

<cookie của tài khoản A>")

+ Refresh URL trên trình duyệt của B với cookie mới

Tài khoản B không tấn công đƣợc vào tài khoản A (không thực hiện đƣợc tháo tác thuộc tài khoản A hoặc view đƣợc thông tin thuộc tài khoản A hoặc cả 2 bị hết session)

- Phạm vi kiểm thử: 1 lần - Biểu hiện lỗi: Tài khoản B thực hiện đƣợc các quyền của tài khoản Ạ - Giải thích lỗi: Lỗi session hijacking không cho phép 2 phiên truy cập đồng thời, session đƣợc xây dựng từ các thông tin ngƣời dùng: IP, trình duyệt, địa chỉ mac

20 F1_R5_2

Session Hijacking (Kiểm tra lỗi 1 user có tài khoản, 1 user không có tài khoản, 2 trình duyệt, trên cùng 1 máy) 1. Trên Firefox:

+ Đăng nhập vào hệ thống với Tài khoản A có quyền vào hệ thống

+ Dùng tiện ích để lấy cookie của tài khoản A: Firebug/ Net/ Click Link/ cookies

+ Copy link trên thanh ađress 2. Trên Chrome:

+ Paste link vừa copy trên Firefox

+ Delete cookies cũ (F12/ resources/ cookies/ địa chỉ hệ thống đang test/ Chuột phải vào cookies/ delete)

+ Sửa cookie hiện tại bằng cookie của tài khoản A và lƣu lại (gõ lệnh: document.cookie = "JSESSIONID = <cookie của tài khoản A>")

3. Refresh URL trên Chrome vừa thay đổi cookie mới

Trên Chrome không vào đƣợc tài khoản A (không thực hiện đƣợc thao tác thuộc tài khoản A hoặc view đƣợc thông tin thuộc tài khoản A hoặc cả 2 bị hết session)

- Phạm vi kiểm thử: 1 lần - Biểu hiện lỗi: Trên Chrome chiếm đƣợc các quyền của tài khoản A

F1_R5_3

Session Hijacking (Kiểm tra lỗi 2 tài khoản, 1 trình duyệt, trên 2 máy)

1. Máy 1: Đăng nhập vào hệ thống với Tài khoản A có quyền cao hơn tài khoản B bằng trình duyệt Chrome 2. Máy 2: Đăng nhập vào hệ thống với Tài khoản B bằng trình duyệt Chromẹ

3. Máy 1: Dùng tiện ích để lấy cookie của tài khoản A (Chrome/ F12/ resources/ cookies/ địa chỉ hệ thống đang test)

4. Máy 2:

+ Xóa cookie hiện tại (Chrome/ F12/ resources/ cookies/ địa chỉ hệ thống đang test/ Chuột phải vào cookies/ delete)

+ Thay cookie của tài khoản B bằng cookie của tài khoản A và lƣu lại (Console/ gõ lệnh: document.cookie =

"JSESSIONID = <cookie của tài khoản A>") + Refresh URL trên trình duyệt của B vừa thay đổi cookie mới

+ Thực hiện cùng thao tác tài khoản A có quyền, nhƣng tài khoản B không có quyền

Tài khoản B không tấn công đƣợc vào tài khoản A (không thực hiện đƣợc tháo tác thuộc tài khoản A hoặc view đƣợc thông tin thuộc tài khoản A hoặc cả 2 bị hết session)

- Phạm vi kiểm thử: 1 lần - Biểu hiện lỗi: Tài khoản B thực hiện đƣợc các quyền của tài khoản A

22 F1_R5_4

Session Hijacking (Kiểm tra lỗi 1 user có tài khoản, 1 user không có tài khoản, 1 trình duyệt, trên 2 máy) 1. Trên máy 1:

+ Đăng nhập vào hệ thống với Tài khoản A có quyền vào hệ thống

+ Dùng tiện ích để lấy cookie của tài khoản A (Chrome/ F12/ resources/ cookies/ địa chỉ hệ thống đang test) + Copy link trên thanh ađress

3. Trên máy 2:

+ Paste link vừa copy trên máy 1

+ Delete cookies hiện tại (Chrome/ F12/ resources/ cookies/ địa chỉ hệ thống đang test/ Chuột phải vào cookies/ delete)

+ Sửa cookie hiện tại bằng cookie của tài khoản A và lƣu lại (Console/ gõ lệnh: document.cookie = "JSESSIONID = <cookie của tài khoản A>")

+ Refresh URL vừa thay đổi cookie mới

Trên Chrome không vào đƣợc tài khoản A (không thực hiện đƣợc thao tác thuộc tài khoản A hoặc view đƣợc thông tin thuộc tài khoản A hoặc cả 2 bị hết session)

- Phạm vi kiểm thử: 1 lần - Biểu hiện lỗi: Trên Chrome chiếm đƣợc các quyền của tài khoản A

F1_R12_ 5

Kiểm tra việc cố tình tạo trang lỗi để khai thác thông tin nhạy cảm của hệ thống

1. Đăng nhập vào hệ thống

2. Sửa 1 thông tin trên đƣờng link rồi enter. VD: + Link gốc:

http://tuyendung.viettel.com.vn/RMSPortal/Index.do + Link sau sửa:

http://tuyendung.viettel.com.vn/RMSPortal/abc123 5. Kiểm tra thông tin hiển thị lên có chứa các thông tin nhạy cảm không (VD: sessionid, CMND, số tài khoản, phiên bản tomcat...)

- Hiển thị trang trắng hoặc thông báo Có lỗi xảy ra (Nhƣng không hiển thị các thông tin của hệ thống)

- Phạm vi kiểm thử: 1 lần - Biểu hiện lỗi: Trình duyệt hiển thị kết quả lỗi, bao gồm các thông tin: phiên bản tomcat,version dự án, full ra trang lỗi do không bắt ngoại lệ...làm thất thoát thông tin.

F1_R10_ 6

Kiểm tra HttpOnly Cookie

Pre: Cài và chạy Ađ-ons cookie và FireBug cho FireFox 1. Đăng nhập vào ứng dụng

2. Dùng firebug kiểm tra trƣờng HttpOnly của Jsession - Firefox: Firebug -> Cookies -> SID/ JSessionID/... -> kiểm tra HttpOnly

- Chrome: F12/ resources/ cookies/ ip server/ xem thuộc tính HTTP

- Nếu xem thuộc tính only bằng cách view, đôi lúc view trên firebug thì không có thuộc tính only => nên tốt nhất là xem bằng cách gõ lệnh document.cookie hoặc xem trên trình duyệt Chrome

SID/

JSessionID/... có giá trị http only

- Phạm vi kiểm thử: 1 lần - Biểu hiện lỗi: SID/ JSessionID/... không có giá trị HttpOnly

- Giải thích lỗi: Hacker có thể sử dụng javascript để đánh cắp cookies của ngƣời dùng

24

F2. Ca kiểm thử cho chức năng Đăng nhập – Đăng xuất

Với chức năng Đăng nhập – Đăng xuất cũng thƣờng mắc các lỗi SQL injection, Session fixation, Session Hijacking. Để kiểm tra lỗi SQL injection thì chúng tôi chỉ cần tiếp cận hệ thống thông qua việc nhập dữ liệu đầu vào trên giao diện. Một số trƣờng hợp có thể sử dụng công cụ firebug để hỗ trợ nếu hệ thống có điều kiện ngăn chặn phía client gây ảnh hƣởng đến việc nhập liệụ Để kiểm tra các lỗi liên quan đến session, chúng tôi dùng các công cụ hỗ trợ nhƣ firebug hoặc tamper data để sửa hoặc xem dữ liệụ Việc thiết kê từng trƣờng hợp để kiểm tra đƣợc chúng tôi mô tả trong bảng 2.4.

Một phần của tài liệu (LUẬN văn THẠC sĩ) xây dựng các ca kiểm thử an toàn thông tin cho ứng dụng web (Trang 29 - 34)