วิธีใช้งาน Kali Linux – OWASP Zap – User Authentication

ในการตรวจสอบ Web Application ที่ต้องมีการ Authentication โดยใช้งานผ่าน Web Form จะต้องกำหนดค่าให้ OWASP Zap รู้ว่า จุดใดเป็น Login Form และ Field ใดที่ใช้เป็น Username และ Password ก่อน หลังจากนั้น จะสามารถกำหนดได้ว่า จะโจมตีด้วย Username ใดบ้าง เพื่อใช้ในการทดสอบ

ขั้นตอนในการตั้งค่าและโจมตีมีดังนี้

  1. ใน Web Browser ให้ตั้งค่า Proxy เป็น 127.0.0.1 Port 8080
    2559-10-19-14_04_45-program-manager
  2. ทำการเปิด Web Page ที่ต้องการโจมดี โดยให้ทำเป็น Login ตามปรกติ ด้วย Username/Password ที่ใช้งานได้จริง
    2559-10-19-14_05_32-program-manager
  3. เมื่อ Login สำเร็จแล้ว จะได้หน้าตาประมาณนี้
    2559-10-19-14_05_49-program-manager
  4. จากนั้น กลับไปที่ OWASP Zap จะเห็นว่าใน Sites มี URL ของ Website ที่ต้องการโจมตีปรากฏอยู่ จากนั้นให้ คลิกขวาที่ URL ที่ต้องการโจมตี คลิก Include in Context > Default Context
    2559-10-19-14_06_30-program-manager
  5. จะปรากฏหน้าต่าง Session Properties ให้ทราบว่า จะใช้งาน URL นี้ ให้คลิกปุ่ม OK
    2559-10-19-14_06_49-kali-running-oracle-vm-virtualbox
  6. จากนั้นให้คลิก POST Action ที่เป็นการส่งข้อมูลการ Login ผ่าน Web Form แล้ว คลิกขวา เลือก Flag as context > Default Context : Form-based Auth login Request
    2559-10-19-14_07_24-program-manager
  7. จะปรากฏหน้าต่าง Session Properties อีกครั้ง ให้ทราบว่า จะใช้ Login Form Target URL และ Login Request POST DATA ดังภาพ ให้กำหนดว่า Username Parameter และ Password Parameter คือ Field ใด จากนั้น ให้คลิกปุ่ม OK
    2559-10-19-14_08_07-kali-running-oracle-vm-virtualbox
  8. จากนั้น ให้คลิก Tab Response ของ POST Action ที่ใช้ในการ Login แล้วมองหา ข้อความ ที่จะให้ OWASP Zap ค้นหา เพื่อเป็นการยืนยังว่า สามารถ Login ได้แล้ว จากนั้น คลิกขวา แล้วเลือก Flag as Context > Default Context: Authentication Logged-in indicator
    2559-10-19-14_08_46-program-manager
  9. จะปรากฏหน้าต่าง Session Properties อีกครั้ง ให้ทราบว่า Regex pattern identified in Logged in response message คือคำใด จากนั้น ให้คลิกปุ่ม OK
    2559-10-19-14_09_06-kali-running-oracle-vm-virtualbox
  10. จากนั้น คลิก Users ด้านซ้ายมือ แล้ว คลิก เครื่องหมายถูก หน้า Username ที่จะใช้ในการ Login
    2559-10-19-14_09_35-kali-running-oracle-vm-virtualbox
  11. จากนั้น คลิก Forced Users ด้านซ้ายมือ แล้วเลือก User ที่จะใช้ในการโจมตี แล้วคลิก OK
    2559-10-19-14_09_51-kali-running-oracle-vm-virtualbox
  12.   ที่ URL ที่จะโจมตี คลิกขวา แล้วเลือก Attack > Active Scan2559-10-19-14_10_29-program-manager
  13. ในหน้าต่าง Active Scan ให้คลิก Tab Scope แล้วเลือก User ที่จะใช้ในการโจมตี
    2559-10-19-14_10_57-kali-running-oracle-vm-virtualbox
  14. คลิก Tab Policy จากนั้นกำหนดให้ Apply High Threshold และ Apply Insane Strength แล้วคลิกปุ่ม Go ทั้ง 2 อัน
    2559-10-19-14_11_19-kali-running-oracle-vm-virtualbox
  15. ระบบ OWASP Zap จะทำการ Scan สามารถดูผลได้จาก Alerts ดังภาพ ซึ่งแสดงให้เห็นว่า Web Site ดังกล่าวมีชื่อโหว่ SQL Injection ที่สามารถ Bypass การ Authentication ได้ เป็นต้น
    2559-10-19-14_13_17-program-manager

References:

https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project

https://github.com/zaproxy/zap-core-help/wiki