ZAP
เครื่องมือสแกน | Web |
Mobile |
Local |
API |
Extension |
Serverless |
วิธีการ |
---|---|---|---|---|---|---|---|
OWASP® Zed Attack Proxy (ZAP) |
ใช้ OWASP ZAP; คอนเทนเนอร์ ZAP Dock เพื่อทําการสแกนแบบไดนามิกอัตโนมัติ (DAST) กับแอปพลิเคชัน ไฟล์การกําหนดค่าที่กําหนดไว้ล่วงหน้ามี CWE ที่จําเป็นทั้งหมดอยู่แล้ว สิ่งที่คุณต้องทําคือเพิ่มคีย์ลงในสภาพแวดล้อมและคําสั่งเรียกใช้ของ Dock |
ดูคําจํากัดความของแต่ละประเภทได้
คลิกที่นี่
การสแกนแบบเต็มสําหรับแอปพลิเคชันบนเว็บ อุปกรณ์เคลื่อนที่ หรือแอปพลิเคชันภายในจะดําเนินการต่อไปนี้ได้
-
การสแกน DAST และ API จะทํางานโดยใช้อิมเมจที่เก็บข้อมูล ZAP สําหรับแอปพลิเคชันเว็บ อุปกรณ์เคลื่อนที่ หรือแอปพลิเคชันภายใน การสแกน ZAP เต็มรูปแบบควรทํางานในสภาพแวดล้อมที่ใช้งานจริงหรือทดลองใช้
-
ดาวน์โหลดไฟล์การกําหนดค่า 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 ควรมีการตรวจสอบสิทธิ์เพื่อทําความเข้าใจว่ามีการจัดเก็บและเข้าถึงข้อมูลผู้ใช้ที่ใด ต้องกําหนดค่าก่อนทําการสแกน อิมเมจ ZAP Dock อนุญาตให้มีอาร์กิวเมนต์ 2 รายการที่เกี่ยวข้องกับการตรวจสอบสิทธิ์
-nบริบท_ไฟล์ |
ไฟล์บริบทที่จะโหลดก่อนที่จะสแกนเป้าหมาย |
ผู้ใช้ U |
ชื่อผู้ใช้ที่จะใช้สําหรับการสแกนที่มีการตรวจสอบสิทธิ์ ต้องมีการกําหนดผู้ใช้ในไฟล์บริบทที่ระบุ |
คุณต้องสร้างไฟล์บริบทเพื่อตั้งค่าพารามิเตอร์เหล่านี้ ซึ่งทําได้ง่ายๆ ผ่าน UI ของ ZAP Desktop
-
ตั้งค่ากลไกการตรวจสอบสิทธิ์ ปัจจุบัน 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