Quy trình quét động

ZAP

Công cụ quét Web Mobile Local API Extension Serverless Hướng dẫn
OWASP® Zed Attack Proxy (ZAP)

Sử dụng OWASP ZAP ; vùng chứa Docker ZAP để quét động tự động (DAST) đối với ứng dụng của bạn.  Các tệp cấu hình được xác định trước đã bao gồm tất cả các CWE cần thiết. Bạn chỉ cần thêm lệnh này vào môi trường và chạy lệnh trong Docker.

Để biết định nghĩa của từng loại Nhấp vào đây Loại ứng dụng

Bạn có thể quét toàn bộ trên Web, Thiết bị di động hoặc Ứng dụng nội bộ bằng cách làm theo các bước dưới đây:

  1. Quá trình quét API và DAST sẽ được chạy bằng hình ảnh Docker ZAP. Đối với web, ứng dụng di động hoặc ứng dụng nội bộ, bạn phải chạy toàn bộ quy trình quét ZAP trên môi trường prod-1 hoặc thử nghiệm. 

  2. Tải tệp cấu hình zap-casa-config.conf xuống rồi chuyển đến thư mục của tệp đó. 

  1. Tạo tệp ngữ cảnh để chạy quá trình quét. Hãy xem hướng dẫn "Xác thực" bên dưới để biết thêm thông tin.

  1. Chạy lệnh sau: 

docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-stable zap-full-scan.py 
-t https://example.com -P 8080 
-c zap-casa-config.conf 
-x results-full.xml -n example.context -U username
  1. Kết quả sẽ được lưu trong một tệp XML (ví dụ đính kèm tại đây: zap-results-full.xml)

Bạn có thể quét API theo các bước dưới đây:

  1. Để quét API, hãy sử dụng tệp cấu hình zap-casa-api-config.conf

  1. Chuyển đến thư mục của tệp đó rồi chạy lệnh sau

docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw 
-t owasp/zap2docker-stable zap-api-scan.py 
-t https://example.com -f openapi-P 8080 
-c zap-casa-api-config.conf 
-x results-full.xml
  1. Đầu ra sẽ được lưu trong tệp XML (ví dụ được đính kèm tại đây: zap-results-api.xml )

Xác thực

Bạn nên quét ZAP bằng tính năng xác thực để biết nơi lưu trữ và truy cập dữ liệu người dùng. Việc này yêu cầu định cấu hình trước khi chạy các bản quét của bạn. Hình ảnh Docker ZAP cho phép hai đối số liên quan đến việc xác thực:

-n tệp ngữ cảnh

Tệp ngữ cảnh sẽ được tải trước khi quét mục tiêu

-U user

Tên người dùng để sử dụng cho các lần quét đã xác thực. Người dùng phải được xác định trong tệp ngữ cảnh đã cho. 

Để đặt các tham số này, bạn phải tạo một tệp ngữ cảnh. Cách dễ nhất để thực hiện việc này là thông qua Giao diện người dùng ZAP trên máy tính.

ngữ cảnh zap
  1. Thiết lập cơ chế xác thực. ZAP hiện hỗ trợ 5 phương pháp xác thực:

    • Xác thực thủ công

    • Xác thực dựa trên biểu mẫu

    • Xác thực HTTP/NTLM

    • Xác thực Dựa trên Tập lệnh

    • Xác thực dựa trên JSON

Xác thực Zap
  1. Xác định các thông số xác thực. Thông tin này thường bao gồm URL đăng nhập và định dạng tải trọng (tên người dùng và mật khẩu). Các tham số bắt buộc dành riêng cho các phương thức xác thực đang được sử dụng.
Xác thực Định cấu hình zap
  1. Thêm tên người dùng và mật khẩu hợp lệ. Tạo nhiều người dùng nếu ứng dụng hiển thị nhiều chức năng dựa trên vai trò.
zap Định cấu hình người dùng

Sau khi định cấu hình các chế độ cài đặt này, bạn có thể xuất ngữ cảnh dưới dạng tệp để quá trình quét tham chiếu.

Ngữ cảnh xuất Zap

Hãy nhớ lưu ngữ cảnh ở một nơi dễ tham chiếu, vì bạn sẽ cần thêm đường dẫn tệp làm đối số cho lệnh quét. Giờ đây, bạn có thể chạy quy trình quét đã xác thực bằng thông tin đăng nhập của người dùng được chỉ định trong ngữ cảnh. Ví dụ:

zap Create User
  docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw 
  -t owasp/zap2docker-stable zap-full-scan.py 
  -t https://example.com -P 8080 
  -c zap-casa-config.conf -x results-full.xml 
  -n /Users/DemoUser/Documents/Context.context -U test@example.com