web测试之信息收集(一)
简介
在开始之前我们首先了解一下什么是安全测试,简单的说就是通过专业的技术检验和验证有效的应用安全控制来评估计算机系统或者系统安全性的方法。信息收集测试则是包含有:搜索引擎的发现和探针;web服务器的识别;服务器应用列表的枚举;审查元素的信息泄露;鉴别应用的入口点;识别web的工作流程;识别web工作的框架;识别web应用程序;识别web应用的架构。本信息收集测试流程是借鉴国外著名的企业测试框架owasp web应用测试方法,同时也被称为行业的标杆。
搜索引擎信息发现和探针
使用搜索引擎来侦察有直接和间接俩种办法。直接的方法是从索引和缓存中发现相关内容。间接方法是从论坛、新闻组和其他相关网站发现相关的敏感信息和配置信息。
如何测试
使用搜索引擎来查找:1.网络拓扑和配置 2.管理员或者其他核心员工的.发帖信息和邮件 3.登录的流程和用户名的格式 4.用户名和密码 5.错误消息内容 6.开发、测试.、验收和上线版本的网站。我们在使用搜索引擎的时候不要局限于一种搜索引擎,在做测试的时候不要局限于一种搜索引擎,不同的引擎抓取不同的页面有不同的算法,可能会产生不同的结果常用的引擎:百度;binsearch.info; Bing;Duck Duck Go;fofa;Google;shodan;钟馗之眼;PunkSpider等等他们都有各自的搜索语法,有兴趣的可以自行了解。
在这里我们以谷歌浏览器为例子:1.使用高级语法“site:搜索选项”,他可以帮助搜索特定域名下的内容(一般的搜索都引擎可用)。2.Google Hacking 数据库:是一组非常有用的Google查询的语句:1.包含文件名的文件 2.敏感目录 3.web服务器探测 4.漏洞文件 5.漏洞服务器 6.错误信息 7.包含密码文件 8.敏感的在线购物信息。
测试工具
Foundstone ,google hacker,PunkSpider(是一个关于漏洞网站,可以找到大量漏洞利用的EXP)
防范
在设计敏感资料和配置信息在网上公布时应该慎重考虑。
定期审查公开在网上的敏感设计资料和配置信息。
识别web服务器
对于渗透测试人员来说,web的识别是一个非常重要的,了解正在运行的服务器类型和版本能让测试者更好去测试已知漏洞和大概的利用方法。在如今的市场上有着许多的不同版本的服务器,明确被测服务器的类型能够有效帮助测试过程和决定测试的流程。测试时可以发送请求,分析响应,与数据库中的指纹相对比。有时不同版本的服务器对于同一个请求可能有相同的响应,需要多个命令请求才能准确的识别web服务器。
如何测试
最简单鉴别web服务器方法是查看http响应头的“sever”字段下面实验我们使用netcat进行响应请求:
但是这种测试方法有的时候并不是非常准确。网站与许多种方法混淆或者改变服务器的标识字段。可以通过对协议的行为进行判断:1.HTTP头字段顺序:通过观察响应头的组织顺序,每个服务器都有自己的一个内部的HTTP头的排序方法。2.畸形的请求测试:发送畸形
测试工具
Httprint;httprecon;Netcraft
其中httpprint等工具可能存在指纹。有时测试者想要更加隐蔽,不直接连接目标网站可以使用在线工具。
浙公网安备 33010602011771号