对一个应用项目进行渗透性测试一般要经过三个步骤。 第一步,用一些侦测工具进行踩点,获得目标的基本信息。 第二步通过漏洞扫描工具这类自动化测试工具获取目标的漏洞列表,从而缩小测试的范围。 第三步利用一些灵活的代理,请求伪造和重放工具,根据测试人员的经验和技术去验证或发现应用的漏洞。
在此过程中需要利用一些工具,这些工具包括:
1、Metasploit:开源的,2004年发展起来的一个缓冲区溢出测试使用的辅助工具,也可以说是一个漏洞利用和测试平台。它是一个高级的开源平台,可以用于开发、测试、利用漏洞代码等。它集成了许多漏洞利用程序,这方面可以参考http://metasploit.com:55555/。它使得编写自己的漏洞利用程序更加轻松。详细信息请查看:http://metasploit.com/
2、nessus: 开源的,古老的,一种用来自动检测和发现已知安全问题的强大工具。详细信息:http://nmap.org/
3、Nmap: 开源的,古老的,端口扫描的工具,它能检测主机系统有哪些tcp/udp端口目前正处于打开状态。详细信息:http://nmap.org/。
4、webinspect:很著名的,可惜被HP收购了。可以发现Web漏洞,包括SQL注入。通过截获浏览器端的http request和http response,然后通过修改内容参数,编码去伪造请求,按照某种规则重放请求,借此发现web 应用的漏洞。更多信息:http://www.webinspect.net/
5、paros:开源的,对web应用进行安全评估的工具。praos也是通过代理,对客户端和服务器端的请求和响应进行拦截、保存、并可以进行伪造和重放,从而发现Web应用的漏洞。详细信息:http://www.parosproxy.org/
上面包括了渗透测试的常用工具,当然,如果需要还有一些其他的选择,如Immunity CANVAS、Core Impact等商业化的工具,条件就是你有钱。