Hướng dẫn sử dụng công cụ OWASP ZAP để quét lỗ hổng bảo mật ứng dụng web

3 min read
Bởi dungbv

Nội dung trình bày:

  1. OWASP ZAP là gì
  2. Cài đặt
  3. Sử dụng như thế nào

OWASP ZAP là gì

  • Là công cụ quét lỗi bảo mật của ứng dụng web, mã nguồn mở.
  • Các tính năng của ZAP:
    • Zap như một proxy giữa trình duyệt và web app, do đó ta có thể inspect, modify những request được gửi đến app.
      zap0
    • Spider: là tính năng được sử dụng để tự động khám phá ra những URL trên website. Nó bắt đầu với một danh sách URL, sau đó xác định tất cả các URL có trên các trang và thêm chúng vào danh sách URL cần thăm tiếp theo, đệ quy tiếp tục để tìm được URL mới.
    • Active scan: là tính năng tự động scan để tìm những lỗi đã được biết trước.
    • Passive scan: khi Zap được đặt làm proxy cho trình duyệt, nó sẽ scan tất cả HTTP message (request và response) được gửi đến web app để xác định lỗi. Passive scan không thay đổi request và response.
    • Fuzzing: là tính năng cho phép submit nhiều dữ liệu không hợp lệ lên server.
    • ....

Cài đặt

Sử dụng

Khởi tạo

  1. Explore app thủ công

    • Sau khi start Zap, bước đầu tiên ta nên explore app thủ công, sử dụng tối đa các chức năng mà web app cung cấp, bởi có những tính năng cần dữ liệu hợp lệ để có thể tiếp tục.
    • Để explore, ta Launch Browser ở tab Quick Start hoặc đặt Zap là proxy cho trình duyệt (Preference --> Local Proxy)
  2. Sau khi đã explore, ta nên lưu session để tái sử dụng lần sau

  3. Tạo Context

    • Context là một tập url, thường là một web app
    • Context cung cấp các tính năng quan trọng như: Authentication, Users, Session Management…
    • Nếu web app cung cấp nhiều role, ta nên lưu mỗi role vào một Zap session.
    • Các bước tạo context:
      • Trong phần Sites, click icon New Context, sau đó tạo context mới
      • Double click vào context vừa tạo
        Screen-Shot-2018-05-24-at-10.05.42-AM
      • Mục Authencitation: chọn Authentication mehtod phù hợp
        Screen-Shot-2018-05-24-at-10.23.14-AM
      • Mục Users: click Add để thêm mới một user
        Screen-Shot-2018-05-24-at-10.26.04-AM
  4. Include web app vào context vừa tạo
    Screen-Shot-2018-05-24-at-10.37.55-AM

  5. Thêm những context cần quan tâm và loại những context khác từ Scope bằng cách chuột phải vào mỗi context, sau đó click icon Show only URL in Scope
    Screen-Shot-2018-05-24-at-10.43.28-AM

Tính năng Spider và Active Scan

  1. Chọn Attack --> Spider
    Screen-Shot-2018-05-24-at-10.55.21-AM

  2. Chọn Context, User, sau đó Start Scan
    Screen-Shot-2018-05-24-at-10.56.53-AM

  3. Active Scan cũng tương tự, kết quả sẽ được show trong tab Alert

Tính năng Fuzzing

  1. Chọn một submit request từ phần Sites cần test, sau đó chọn Fuzz từ menu Attack
  2. Double click một tham số cần gán nhiều giá trị, tại mục Fuzz Locations --> Add --> Add --> Chọn payload type cần test --> Add --> Start Fuzzer
    Screen-Shot-2018-05-24-at-11.10.05-AM

More

Để tìm hiểu chi tiết, chọn Help --> OWASP ZAP User Guide

Bài viết liên quan

Unit Testing trong project Ionic2

Việc UnitTest trong project Ionic2 sử dung karma và framework jasmine để thực hiện. Chúng ta sẽ tìm hiểu 1 số khái niệm cũng nhưng từng bước xây dựng môi trường UnitTest.