ขั้นตอนการสแกนแบบไดนามิก

ZAP

เครื่องมือสแกน Web Mobile Local API Extension Serverless วิธีการ
OWASP® Zed Attack Proxy (ZAP)

ใช้ OWASP ZAP และคอนเทนเนอร์ ZAP Docker เพื่อทำการสแกนแบบไดนามิกอัตโนมัติ (DAST) กับแอปพลิเคชัน ไฟล์การกำหนดค่าที่กำหนดไว้ล่วงหน้ามี CWE ที่จำเป็นทั้งหมดอยู่แล้ว เพียงแค่เพิ่มลงในสภาพแวดล้อมและคำสั่งเรียกใช้คำสั่ง Docker

ดูคำจำกัดความของแต่ละประเภท คลิกที่นี่ ประเภทแอป

การสแกนทั้งหมดในเว็บ อุปกรณ์เคลื่อนที่ หรือแอปพลิเคชันภายในทำได้โดยทำตามขั้นตอนต่อไปนี้

  1. ระบบจะเรียกใช้การสแกน DAST และ API โดยใช้อิมเมจ Docker ของ ZAP สำหรับเว็บ อุปกรณ์เคลื่อนที่ หรือแอปพลิเคชันภายใน การสแกน ZAP แบบสมบูรณ์ควรเรียกใช้ในสภาพแวดล้อม prod-1 หรือการทดลองใช้ 

  2. ดาวน์โหลดไฟล์การกำหนดค่า zap-casa-config.conf แล้วไปที่ไดเรกทอรีของไฟล์ 

  1. สร้างไฟล์บริบทสําหรับการสแกน โปรดดูรายละเอียดเพิ่มเติมในวิธีการ "การตรวจสอบสิทธิ์" ด้านล่าง

  1. เรียกใช้คำสั่งต่อไปนี้

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. ระบบจะบันทึกเอาต์พุตเป็นไฟล์ XML (ตัวอย่างแนบอยู่ที่นี่ zap-results-full.xml)

การสแกน API สามารถทำได้โดยทำตามขั้นตอนด้านล่างนี้

  1. สําหรับการสแกน API ให้ใช้ไฟล์การกําหนดค่า zap-casa-api-config.conf 

  1. ไปที่ไดเรกทอรีของไฟล์แล้วเรียกใช้คําสั่งต่อไปนี้

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. ระบบจะบันทึกเอาต์พุตเป็นไฟล์ XML (ตัวอย่างแนบอยู่ที่นี่: zap-results-api.xml )

การตรวจสอบสิทธิ์

การสแกน ZAP ควรดำเนินการพร้อมกับการตรวจสอบสิทธิ์เพื่อให้ทราบตำแหน่งที่จัดเก็บและเข้าถึงข้อมูลผู้ใช้ ซึ่งต้องมีการกําหนดค่าก่อนเรียกใช้การสแกน อิมเมจ Docker ของ ZAP ยอมรับอาร์กิวเมนต์ 2 รายการที่เกี่ยวข้องกับการตรวจสอบสิทธิ์ ดังนี้

-n Context_file

ไฟล์บริบทที่จะโหลดก่อนสแกนเป้าหมาย

ผู้ใช้ -U

ชื่อผู้ใช้ที่จะใช้สําหรับการสแกนที่ตรวจสอบสิทธิ์แล้ว ผู้ใช้ต้องได้รับการกําหนดไว้ในไฟล์บริบทที่ระบุ 

หากต้องการตั้งค่าพารามิเตอร์เหล่านี้ คุณต้องสร้างไฟล์บริบท ซึ่งทำได้ง่ายๆ ผ่าน ZAP Desktop UI

บริบท Zap
  1. ตั้งค่ากลไกการตรวจสอบสิทธิ์ ปัจจุบัน ZAP รองรับวิธีการตรวจสอบสิทธิ์ 5 วิธี ได้แก่

    • การตรวจสอบสิทธิ์ด้วยตนเอง

    • การตรวจสอบสิทธิ์แบบฟอร์ม

    • การตรวจสอบสิทธิ์ HTTP/NTLM

    • การตรวจสอบสิทธิ์แบบสคริปต์

    • การตรวจสอบสิทธิ์ตาม JSON

การตรวจสอบสิทธิ์ zap
  1. กำหนดพารามิเตอร์การตรวจสอบสิทธิ์ ซึ่งโดยทั่วไปจะรวมถึง URL สำหรับการเข้าสู่ระบบและรูปแบบเพย์โหลด (ชื่อผู้ใช้และรหัสผ่าน) พารามิเตอร์ที่จําเป็นจะเจาะจงตามวิธีการตรวจสอบสิทธิ์ที่ใช้
กำหนดค่าการตรวจสอบสิทธิ์ของ Zap
  1. เพิ่มผู้ใช้และรหัสผ่านที่ถูกต้อง สร้างผู้ใช้หลายคนหากแอปพลิเคชันแสดงฟังก์ชันการทำงานที่แตกต่างกันตามบทบาท
zap กําหนดค่าผู้ใช้

เมื่อกําหนดการตั้งค่าเหล่านี้แล้ว คุณสามารถส่งออกบริบทเป็นไฟล์เพื่อให้การสแกนอ้างอิงได้

บริบทการส่งออกของ zap

อย่าลืมบันทึกบริบทไว้ที่ใดที่หนึ่งเพื่อให้อ้างอิงได้ง่าย เนื่องจากคุณจะต้องใส่เส้นทางไฟล์เป็นอาร์กิวเมนต์สำหรับคำสั่งสแกน ตอนนี้คุณจะเรียกใช้การสแกนที่ตรวจสอบสิทธิ์แล้วได้โดยใช้การเข้าสู่ระบบของผู้ใช้ที่ระบุไว้ในบริบท ตัวอย่าง

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