Ca kiểm thử cho chức năng Download

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 81 - 88)

Chức năng Download thƣờng gặp các lỗi liên quan đến thao tác với file và các lỗi liên quan đến việc xác thực phân quyền. Phƣơng pháp tiếp cận hệ thống để kiểm tra các lỗi này là dựa vào việc nhập dữ liệu đầu vào trên giao diện có sử dụng thêm các công cụ hỗ trợ nhƣ firebug. Chúng tôi thiết kế các trƣờng hợp kiểm tra cho chức năng Download nhƣ trong bảng 2.10.

Bảng 2.10. Các ca kiểm thử với màn hình có chức năng Download

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: Download

Kiểm soát các thao tác với file

F8_R7_ 1 Kiểm tra thƣ mục lƣu file có phải là thƣ mục share, có phải là thƣ mục chứa source code không?

1. Thực hiện download file (khi thực hiện thao tác download, hệ thống sẽ sinh file và lƣu vào 1 thƣ mục trên server)

2. Copy link download (trong firebug hoặc trên link download file trên phần mềm) 3. Kiểm tra thƣ mục lƣu file

Không cho phép lƣu vào thƣ mục share hoặc thƣ mục chứa source code (thƣ mục chứa source code thƣờng có tên thƣ mục là webapps)

- Phạm vi kiểm thử: + Mỗi chức năng 1 case + Riêng với các file download không chƣa dữ liệu quan trọng của hệ thống thì không cần check (VD: các file biểu mẫu không chứa dữ liệu…)

- Biểu hiện lỗi:

+ Trên link download file hiển thị đƣờng dẫn lƣu trƣ là thƣ mục Share hoặc thƣ mục chứa source code + Thƣờng với các file biểu mẫu =>

72 chứa DL quan trọng F8_R7_ 2 Xác thực tài khoản khi download 1. Đăng nhập vào hệ thống và chọn

download báo cáo hoặc tài liệu => Copy link download.

3. Logoff khỏi hệ thống => paste link download vừa có đƣơc vào trình quyệt => enter

- Thông báo không có quyền hoặc thông báo không tồn tại link này

- Phạm vi kiểm thử: Mỗi chức năng 1 case

- Biểu hiện lỗi: Hệ thống cho phép download file mà không cần xác thực và các tham số không đƣợc mã hóa

F8_R7_ 3 Mã hóa Link download 1. Đăng nhập vào hệ thống và chọn download file

2. Copy link download

3. Past link ra word: kiểm tra link

Link download file phải đƣợc mã hóa khi hiển thị trên phần mềm download.

VD: Link sau khi tham số đƣợc mã hóa: http://192.168.174.2 7:8811/report_outp ut/download.dỏvt= AG67YG7HFJWE RWKSBFHDJSKJ FHDKDKD

- Phạm vi kiểm thử: Mỗi chức năng 1 case

- Biểu hiện lỗi: Hệ thống vẫn hiển thị link download file trên PM download:

VD: Link sau chƣa đƣợc mã hóa các tham số:

http://192.168.174.27:8811/report_o utput/report_revenue_general1_befo re_tax_tronglv_2012082208243136. xls

74 F8_R7_ 4 Path traversal (Kiểm tra việc chặn get các file không đƣợc phép)

Tiền điều kiện:

+ Để thực hiện đƣợc case này thì link phải chƣa bị mã hóa

+ Biết đƣờng dẫn đến 1 file trên server. VD: ../../../dir1/dir2/file1 (Liên hệ dev để xin các link này). Mỗi "../" là 1 lần lên 1 thƣ mục cha 1. Thực hiện download file ở chức năng cho phép download.

2. Lấy link download (lấy link trong net/ all hoặc lấy link download trong link download hiển thị trên Chƣơng trình). Khi đó, copy link sẽ thấy có dạng: ...file=abc.xls

3. Sửa link vừa copy thành đƣờng dẫn đến file đã biết trên server. Ví dụ: link sau sửa: http://some_sitẹcom.br/get-files?file= ../../../dir1/dir2/PassWord.xls

4. Past link lên thanh ađress của Firefox/ enter

Hiển thị trang lỗi, hoặc trang không tìm thấỵ

- Phạm vi kiểm thử: Mỗi chức năng 1 case

- Biểu hiện lỗi:

+ Lỗi bảo mật: Hiển thị cấu trúc file hay đƣờng dẫn cụ thế nào đó: VD: /u01/web/…..vvvv

+ Hoặc get đƣợc các file PassWord thì ứng dụng bị mắc lỗi Path

Hành động (action) F8_R4_ 5 Kiểm tra xác thực, phân quyền (Kiểm tra URL Manipulatio n - Lỗi leo quyền với các action có phân quyền thực hiện) 1. Đăng nhập bằng user 1

2. Sửa giá trị của trƣờng đƣợc phân quyền: có thể thực hiện 1 trong các cách sau:

- Cách 1: Vào firebug/ HTML/ di chuyển con trỏ đến trƣờng đƣợc phân quyền miền dữ liệu => Sửa Value/ID = Value/ID tồn tại trong DB, nhƣng là miền dữ liệu không thuộc quyền của user 1 => thực hiện action

- Cách 2:

+ Tab 1: Thực hiện thao tác/ Copy Location with Parameters của thao tác

+ Tab 2: Paste link trên thanh ađress. Nếu cần thì:

=> sửa ID/tham số của bản ghi vừa thực hiện thao tác = 1 ID/tham số tồn tại trong DB => sửa các tham số, nếu hệ thống tự reset tham số đó khi thực hiện thao tác (VD: 1 số hệ thống đƣợc xử lý reset token trƣớc mỗi thao tác nhƣ thêm, sửa, xóạ..)

+ Tab 1: Đăng xuất khỏi hệ thống

+ Tab 2: enter để chạy link

Thông báo không có quyền thực hiện action

- Phạm vi kiểm thử: Action làm thay đổi DL trong DB (thêm, sửa, xóa, download, upload, import, action nghiệp vụ quan trọng...)

- Biểu hiện lỗi: Thực hiện đƣợc action với bản ghi có id/tham số vừa sửa

76 F8_R4_ 6 Kiểm tra xác thực, phân quyền (Kiểm tra URL Manipulatio n - Lỗi leo quyền - 2 user với các action có phần quyền Miền dữ liệu) 1. Firefox: + Đăng nhập bằng user 1

+ Sửa giá trị của trƣờng đƣợc phân quyền: Vào firebug-> HTML-> di chuyển con trỏ đến trƣờng đƣợc phân quyền miền dữ liệu -> lấy Value/ID

2. Chrome:

+ Đăng nhập bằng user 2

+ Sửa giá trị của trƣờng đƣợc phân quyền: Vào firebug-> HTML-> di chuyển con trỏ đến trƣờng đƣợc phân quyền miền dữ liệu -> Sửa Value/ID = Miền dữ liệu thuộc quyền của user 1, không thuộc quyền của user 2 + Thực hiện action (Chú ý: khi thực hiện action, user 1 ở trình duyệt firefox vẫn đang đăng nhập và chƣa bị hết session)

Thông báo không có quyền thực hiện action

- Phạm vi kiểm thử: Các action có liên quan đến phân quyền miền dữ liệụ VD:

+ Đơn vị có phân quyền miền DL cho từng user

+ Combo, listbox: có phân quyền mỗi user 1 miền

+ Chức năng mà mỗi user có phạm vi quyền khác nhau (thêm, sửa, xóa, download, upload …)

+ Chú ý: 1 số trƣờng hợp thêm mới mà không gửi value/ ID đƣợc phân quyền miền DL lên server thì thƣờng không cần check lỗi này - Biểu hiện lỗi: Hệ thống cho phép thực hiện action trên trên Miền dữ liệu không đƣợc phân quyền (lỗi leo quyền)

F8_R4_ 7 Kiểm tra xác thực, phân quyền (Kiểm tra URL Manipulatio n - Lỗi leo quyền với các action có ràng buộc quyền thực hiện ) 1. Đăng nhập bằng user 1

2. Chọn dữ liệu mà user 1 không có quyền thực hiện action (do có ràng buộc, VD: bản ghi bị khóa - không cho phép thực hiện action): lấy ID dữ liệu của thao tác 3. Chọn dữ liệu mà user 1 có quyền thực hiện: sửa ID dữ liệu của thao tác = ID lấy đƣợc ở bƣớc 2

4. Thực hiện action

Thông báo không có quyền thực hiện action (việc check validate các ràng buộc phải thực hiện trên server)

- Phạm vi kiểm thử: Check với trƣờng hợp:

+ Các action tác động đến các DL đã bị ràng buộc không cho phép thực hiện action (VD: Thêm, sửa, xóa… với các DL đã bị khóa hoặc hết hiệu lực, vv...).

+ Và việc validate các ràng buộc này chỉ thực hiện phía client, không check trên server

- Biểu hiện lỗi: Hệ thống cho phép thực hiện action với DL đã có ràng buộc không cho phép thực hiện (VD: Dữ liệu đã bị khóa, hoặc đã hết hiệu lực…)

78

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 81 - 88)

Tải bản đầy đủ (PDF)

(114 trang)