ZAP
เครื่องมือสแกน | Web |
Mobile |
Local |
API |
Extension |
Serverless |
วิธีการ |
---|---|---|---|---|---|---|---|
OWASP® Zed Attack Proxy (ZAP) |
ใช้ OWASP ZAP และคอนเทนเนอร์ ZAP Docker เพื่อทำการสแกนแบบไดนามิกอัตโนมัติ (DAST) กับแอปพลิเคชัน ไฟล์การกำหนดค่าที่กำหนดไว้ล่วงหน้ามี CWE ที่จำเป็นทั้งหมดอยู่แล้ว เพียงแค่เพิ่มลงในสภาพแวดล้อมและคำสั่งเรียกใช้คำสั่ง Docker |
ดูคำจำกัดความของแต่ละประเภท
คลิกที่นี่
การสแกนทั้งหมดในเว็บ อุปกรณ์เคลื่อนที่ หรือแอปพลิเคชันภายในทำได้โดยทำตามขั้นตอนต่อไปนี้
-
ระบบจะเรียกใช้การสแกน DAST และ API โดยใช้อิมเมจ Docker ของ ZAP สำหรับเว็บ อุปกรณ์เคลื่อนที่ หรือแอปพลิเคชันภายใน การสแกน ZAP แบบสมบูรณ์ควรเรียกใช้ในสภาพแวดล้อม prod-1 หรือการทดลองใช้
-
ดาวน์โหลดไฟล์การกำหนดค่า zap-casa-config.conf แล้วไปที่ไดเรกทอรีของไฟล์
-
สร้างไฟล์บริบทสําหรับการสแกน โปรดดูรายละเอียดเพิ่มเติมในวิธีการ "การตรวจสอบสิทธิ์" ด้านล่าง
-
เรียกใช้คำสั่งต่อไปนี้
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
-
ระบบจะบันทึกเอาต์พุตเป็นไฟล์ XML (ตัวอย่างแนบอยู่ที่นี่ zap-results-full.xml)
การสแกน API สามารถทำได้โดยทำตามขั้นตอนด้านล่างนี้
-
สําหรับการสแกน API ให้ใช้ไฟล์การกําหนดค่า zap-casa-api-config.conf
-
ไปที่ไดเรกทอรีของไฟล์แล้วเรียกใช้คําสั่งต่อไปนี้
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
-
ระบบจะบันทึกเอาต์พุตเป็นไฟล์ XML (ตัวอย่างแนบอยู่ที่นี่: zap-results-api.xml )
การตรวจสอบสิทธิ์
การสแกน ZAP ควรดำเนินการพร้อมกับการตรวจสอบสิทธิ์เพื่อให้ทราบตำแหน่งที่จัดเก็บและเข้าถึงข้อมูลผู้ใช้ ซึ่งต้องมีการกําหนดค่าก่อนเรียกใช้การสแกน อิมเมจ Docker ของ ZAP ยอมรับอาร์กิวเมนต์ 2 รายการที่เกี่ยวข้องกับการตรวจสอบสิทธิ์ ดังนี้
-n Context_file |
ไฟล์บริบทที่จะโหลดก่อนสแกนเป้าหมาย |
ผู้ใช้ -U |
ชื่อผู้ใช้ที่จะใช้สําหรับการสแกนที่ตรวจสอบสิทธิ์แล้ว ผู้ใช้ต้องได้รับการกําหนดไว้ในไฟล์บริบทที่ระบุ |
หากต้องการตั้งค่าพารามิเตอร์เหล่านี้ คุณต้องสร้างไฟล์บริบท ซึ่งทำได้ง่ายๆ ผ่าน ZAP Desktop UI
-
ตั้งค่ากลไกการตรวจสอบสิทธิ์ ปัจจุบัน ZAP รองรับวิธีการตรวจสอบสิทธิ์ 5 วิธี ได้แก่
-
การตรวจสอบสิทธิ์ด้วยตนเอง
-
การตรวจสอบสิทธิ์แบบฟอร์ม
-
การตรวจสอบสิทธิ์ HTTP/NTLM
-
การตรวจสอบสิทธิ์แบบสคริปต์
-
การตรวจสอบสิทธิ์ตาม JSON
-
- กำหนดพารามิเตอร์การตรวจสอบสิทธิ์ ซึ่งโดยทั่วไปจะรวมถึง URL สำหรับการเข้าสู่ระบบและรูปแบบเพย์โหลด (ชื่อผู้ใช้และรหัสผ่าน) พารามิเตอร์ที่จําเป็นจะเจาะจงตามวิธีการตรวจสอบสิทธิ์ที่ใช้
- เพิ่มผู้ใช้และรหัสผ่านที่ถูกต้อง สร้างผู้ใช้หลายคนหากแอปพลิเคชันแสดงฟังก์ชันการทำงานที่แตกต่างกันตามบทบาท
เมื่อกําหนดการตั้งค่าเหล่านี้แล้ว คุณสามารถส่งออกบริบทเป็นไฟล์เพื่อให้การสแกนอ้างอิงได้
อย่าลืมบันทึกบริบทไว้ที่ใดที่หนึ่งเพื่อให้อ้างอิงได้ง่าย เนื่องจากคุณจะต้องใส่เส้นทางไฟล์เป็นอาร์กิวเมนต์สำหรับคำสั่งสแกน ตอนนี้คุณจะเรียกใช้การสแกนที่ตรวจสอบสิทธิ์แล้วได้โดยใช้การเข้าสู่ระบบของผู้ใช้ที่ระบุไว้ในบริบท ตัวอย่าง
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