Penetration test หรือที่เรียกว่า PenTest คือการทดสอบระบบของเราว่ามีช่องโหว่ของระบบตรงไหน เพื่อให้นักพัฒนาป้องกันช่องโหว่นั้นๆ การหาช่องโหว่ของระบบได้โดยวิธีการเจาะระบบ (Hacking) โดยจะมีวิธีทดสอบดังนี้
- External Testing
- Internal Testing
- Blind Testing
- Double-blind Testing
- Targeted Testing
ขั้นตอนในการทำ PenTest มี 5 ขั้นตอน คือ
- Planning and Reconnaissance
- Scanning
- Static Analysis
- Dynamic Analysis - Gaining Access
- Maintaining Access
- Analysis
โดยทั่วไปแล้วช่องโหว่ที่พบได้บ่อยๆ หลังจากทำ PenTest คือ
- การที่แสดงข้อผิดพลาดของระบบที่ไม่มีการดักเอาไว้
- Cross-site Scripting และ SQL Injection