Penetration test, means to detect security vulnerabilities of a software system through various methods (including software attack), and gain the access permission or data of the software system through those vulnerabilities.
The target of penetration test may be a white-box system (with background details of the system known) or black-box system (with background information of the system unknown), which help to detect that whether an attackable security vulnerability is in a system, so as to estimate that whether a system is strong enough to resist various attacks.
Penetration test is mainly performed manually, and the test quality depends mainly on the experience of testing personnel. Therefore, penetration test is usually conducted by experienced professional security testing personnel, to tackle difficult problems and to achieve the desired test result.
The goals of penetration tests are:
Although penetration test is mainly performed manually, there are many security tools for auxiliary use to improve the efficiency.
Some auxiliary tools: