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

ZAP

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

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

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

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

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

  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 ควรมีการตรวจสอบสิทธิ์เพื่อทําความเข้าใจว่ามีการจัดเก็บและเข้าถึงข้อมูลผู้ใช้ที่ใด ต้องกําหนดค่าก่อนทําการสแกน อิมเมจ ZAP Dock อนุญาตให้มีอาร์กิวเมนต์ 2 รายการที่เกี่ยวข้องกับการตรวจสอบสิทธิ์

-nบริบท_ไฟล์

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

ผู้ใช้ U

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

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

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

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

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

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

    • การตรวจสอบสิทธิ์ที่ใช้สคริปต์

    • การตรวจสอบสิทธิ์ที่ใช้ JSON

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

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

บริบทการส่งออก Zap

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

Zap สร้างผู้ใช้
  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