วิธีใช้ OWASP ZAP ทดสอบความปลอดภัยของเว็บแอปพลิเคชัน โดยใช้ OWASP Juice Shop
การทดสอบช่องโหว่ของเว็บแอปพลิเคชันเป็นสิ่งที่จำเป็นสำหรับนักพัฒนาและผู้ดูแลระบบ OWASP ZAP เป็นหนึ่งในเครื่องมือยอดนิยมที่ช่วยให้เราสามารถตรวจสอบความปลอดภัยของเว็บแอปได้อย่างมีประสิทธิภาพ
ในบทความนี้ เราจะพาไปรู้จักกับ OWASP ZAP และวิธีใช้งานร่วมกับ Juice Shop เพื่อค้นหาและวิเคราะห์ช่องโหว่ของเว็บแอป
OWASP ZAP คืออะไร
OWASP ZAP (Zed Attack Proxy) เป็นเครื่องมือ Open Source ที่ช่วยทดสอบความปลอดภัยของเว็บแอปพลิเคชันโดยการสแกนหาช่องโหว่ เช่น SQL Injection, Cross-Site Scripting (XSS), Security Misconfiguration และอื่น ๆ
ZAP มีฟีเจอร์ที่หลากหลาย เช่น การสแกนอัตโนมัติ การตรวจสอบความปลอดภัยแบบ Manual การสร้างรายงาน และการสนับสนุนการทำงานร่วมกับเครื่องมืออื่น ๆ ZAP เป็นเครื่องมือที่เหมาะสำหรับนักพัฒนาซอฟต์แวร์ นักทดสอบความปลอดภัย และผู้ที่สนใจในด้าน Cybersecurity
OWASP Juice Shop คืออะไร
OWASP Juice Shop เป็นเว็บแอปพลิเคชันที่สร้างขึ้นเพื่อใช้เป็นตัวอย่างในการทดสอบช่องโหว่ด้านความปลอดภัย มันเต็มไปด้วยช่องโหว่ยอดนิยมตาม OWASP Top 10 ซึ่งเหมาะสำหรับใช้เรียนรู้และฝึกฝนการทดสอบด้าน Security Juice Shop มีฟีเจอร์ที่หลากหลาย เช่น การจัดการบัญชีผู้ใช้ การชำระเงินออนไลน์ และการจัดการสินค้า ซึ่งทำให้มันเป็นตัวอย่างที่ดีในการทดสอบความปลอดภัยของเว็บแอปพลิเคชัน
ติดตั้งและรัน OWASP Juice Shop บน Local
Juice Shop รองรับหลายวิธีในการรัน เช่น Docker, Node.js, Heroku, และ AWS ในที่นี้เราจะใช้ Docker เพื่อรัน Juice Shop บน Local
แต่วันนี้เราจะใช้ Docker ในการติดตั้ง Juice Shop เพราะมันง่ายและรวดเร็ว
- ติดตั้ง Docker บนเครื่อง ดาวน์โหลดที่นี่
- เปิด Terminal และรันคำสั่ง
docker run -p 8888:3000 bkimminich/juice-shop
- รอจนกระทั่ง Juice Shop รันเสร็จ จากนั้นเปิดเว็บเบราว์เซอร์และไปที่ http://localhost:8888
ติดตั้งและตั้งค่า OWASP ZAP
ติดตั้ง OWASP ZAP
- ดาวน์โหลด OWASP ZAP จาก เว็บไซต์ทางการ
- ติดตั้งตามขั้นตอนของระบบปฏิบัติการที่คุณใช้งาน
- เปิด OWASP ZAP
ตั้งค่า Proxy ใน OWASP ZAP
- เปิด ZAP แล้วไปที่
Tools
→Options
→Network
→Local Server/Proxies
- ตั้งค่า
Address
เป็นlocalhost
และPort
เป็น8080
- กด
OK
เพื่อบันทึกการตั้งค่า
การตั้งค่า Proxy จะช่วยให้ ZAP สามารถดักจับและวิเคราะห์การเชื่อมต่อระหว่างเว็บเบราว์เซอร์และ Juice Shop ได้ เรียกง่าย ๆ ว่า ทุก Request ที่ส่งจากเบราว์เซอร์จะถูกส่งไปยัง ZAP
ใช้ OWASP ZAP สแกน OWASP Juice Shop
สแกนอัตโนมัติ (Automated Scan)
- เปิด OWASP ZAP → ไปที่แท็บ
Quick Start
- เลือก
Automated Scan
- ใส่ URL ของ Juice Shop (http://localhost:8888) ในช่อง
URL to attack
- กด
Attack
เพื่อเริ่มการสแกน
- รอจนกระทั่งการสแกนเสร็จสิ้น
- เมื่อการสแกนเสร็จสิ้น คุณจะเห็นรายงานช่องโหว่ที่พบในแท็บ
Alerts
- วิเคราะห์และแก้ไขปัญหาที่พบ
- ไปที่แท็บ
Alerts
คุณจะเห็นรายการช่องโหว่ เช่น
ระดับความเสี่ยง | ประเภทช่องโหว่ | วิธีแก้ไข |
---|---|---|
🔴 High | SQL Injection | ใช้คำสั่ง SQL ที่ปลอดภัย (Prepared Statements) หรือใช้ ORM เพื่อลดความเสี่ยง |
🟡 Medium | Content Security Policy (CSP) Header Not Set | เพิ่ม CSP Header เพื่อป้องกันการโจมตีแบบ XSS และการโหลดเนื้อหาจากแหล่งที่ไม่ปลอดภัย |
🟢 Low | X-Content-Type-Options Header Missing | ตั้งค่า X-Content-Type-Options: nosniff ใน Header เพื่อป้องกันการแอบเปลี่ยนประเภทไฟล์ |
- คลิกที่ช่องโหว่เพื่อดูรายละเอียดเพิ่มเติม เช่น คำอธิบาย วิธีการโจมตี และวิธีการแก้ไข
- คุณสามารถคลิกที่
Request
และResponse
เพื่อดูรายละเอียดของ Request และ Response ที่ถูกส่งไปยัง Juice Shop - คุณสามารถใช้ข้อมูลเหล่านี้ในการวิเคราะห์และปรับปรุงความปลอดภัยของเว็บแอปพลิเคชัน
- นอกจากนี้ ZAP ยังมีฟีเจอร์การสร้างรายงานที่ช่วยให้คุณสามารถบันทึกผลการสแกนได้
- ไปที่
Report
→Generate Report
- เลือกรูปแบบรายงานที่ต้องการ เช่น HTML, XML, Markdown
- กด
Generate
เพื่อสร้างรายงาน - รายงานจะถูกบันทึกในโฟลเดอร์ที่คุณเลือก
ตัวอย่างรายงานช่องโหว่จาก ZAP
