【信息收集测试】
1、搜索引擎信息收集(OTG-INFO-001)
通过搜索引擎收集以下:
· 网络拓扑图和配置
· 管理员和其他员工的归档文章和邮件
· 登录过程和用户名的格式
· 用户名和密码
· 错误信息内容
· 开发、测试的网站版本
方法:Google Hacking数据库
在搜索引擎输入【site:域名】搜索(或是inurl、intitle、intxt等)。
查询分为几类:后门,包含用户名或密码的文件,敏感目录、在线购物信息,web服务器探测,存在漏洞的文件、服务器,错误消息,包含有价值信息的文件等。
工具:
FoundStone SiteDIgger
Google Hacker
Stach& Liu's Google Hacking Diggity Project
PunkSPIDER
2、Web服务器指纹识别(OTG-INFO-002)
主要识别服务器的版本和类型。
测试方法:
a、黑盒测试:查看HTTP响应头部的server字段。
Server: Apache/1.3.23 //Apache 1.3.23版本
Server: Microsoft-IIS/5.0 //Microsoft-IIS 5.0服务器
Server: Unknown-Webserver/1.0 //Server字段经过了模糊化处理
b、协议行为:根据http报头字段的排序来判断web服务器信息。
Date: //Apache 1.3.23版本
Server:
Last-Modified:
Etag:
Server: //IIS5.0版本
Content-Location:
Date:
Content-Type:
c、畸形请求测试:向服务器端发送畸形请求或不存在的页面请求,查看响应。
工具:
①网址链接:httprint、httprecon、Netcraft、Desenmascarame;
加固措施:
把表示层Web服务器部署在加固的反向代理之后进行保护;
模糊处理表示层Web服务器的头部信息。
3、审查Web服务器元文件信息泄露(OTG-INFO-003)
测试目标:寻找web应用程序目录或文件夹路径的信息泄露;
创建免于蜘蛛、机器人或爬虫遍历的目录列表。
测试方法:
a、robots.txt
User-agent: * //可以适用于所有网络蜘蛛、机器人和爬虫。
Disallow: /xxxx //指定资源禁止机器人访问(其实机器人仍可以访问,相当于口头警告而已)
b、META标签
使用burp搜索标签——“
工具:
Browser、curl、wget、rockspider、burpsuite。
4、枚举Web服务器的应用(OTG-INFO-004)
测试目标:查明服务器上运行了哪些特定的应用程序。
测试方法(黑盒):
遇到:
1.不同的url: http://www.test.com/x
http://www.test.com/y
方法:①利用搜索引擎,查看“site: www.test.com”
②扫描器暴力探测
③字典破解
2.端口: http://www.test.com:port/
方法:使用nmap或nessus进行端口扫描。
3.虚拟主机: http://www.test.com/(即多个域名映射到同个IP)
http://a.test.com/
http://b.test.com/
方法:①利用nslookup、host、dig工具,请求DNS NS 记录来获得DNS服务器。
②DNS反向查询
③基于Web的DNS查询
DNS查询服务:https://searchdns.netcraft.com/
④反向IP查询服务
Domain tools reverse IP :http://www.domaintools.com/reverse-ip/(需要注册)
MSN search:http://search.msn.com查询方法:“ip:x.x.x.x”(不带引号)
Webhosting info:http://whois.webhosting.info/ 查询方法:http://whois.webhosting.info/x.x.x.x
DNSstuff:http://www.dnsstuff.com/(多种服务可用)
SEOlogs.com:http://www.seologs.com/ip-domains.html(反向IP/DNS查询)
⑤googling
搜索域名的相关信息(DNS域名)
5、注释和元数据信息泄露(OTG-INFO-005)
测试目标:审查网页注释和元数据找出泄露的信息。
测试方法(黑盒):
检查HTML源代码注释所包含的敏感信息,
例子:
将导致http头部信息:
Expires:Fri, 21 Dec 2012 11:11:11 GMT
可检查这些标签是否可用于注入攻击(如:CRLF攻击)
工具:
wget、Browser、Eyeballs、Curl。
6、识别应用的入口(OTG-INFO-006)
主要为理解请求和响应。略。
7、映射应用程序的执行路径(OTG-INFO-007)
主要为收集应用的所有路径、数据流等。略。
8、识别Web应用框架(OTG-INFO-008)
确定所使用的web框架类型。
测试方法:
①cookie
②HTML源代码
③特有的文件和目录
每个特定的框架都有不同的特有的文件和目录,建议自己搭建响应框架,理解框架结构,并确定服务器上的遗留文件。
工具:
whatweb、BlindElephant、Wappalyzer
加固措施:
1、http头。 检查配置、禁用或混淆所有可能泄露所用技术的HTTP头。(使用NetScaler模糊处理HTTP头)
2、Cookies。 建议通过修改相应的配置文件来改变Cookie名称。
3、HTML源代码。 确保没有暴露框架信息的可视标记;移除不需要的注释(版权,bug信息,特有的框架注释);移除Meta和作者标签;使用公司自己的css和js脚本书件,且不存储在与框架特有关的文件夹内;页面上禁止使用默认脚本,如果必须使用,进行混淆处理。
4、特有文件。 删除服务器上的所有不必要或不使用的文件(包含泄露有关版本和安装信息的文本);使用404错误响应来限制从外部访问其他文件(可通过htaccess文件中添加RewriteCond和RewriteRule来实现此目的);
5、其他方法。 校验管控:改变这些文件的存储位置;修改文件内容。
可控混淆:从其他框架引入虚假文件和文件夹,欺骗扫描器及攻击者。
9、识别Web应用程序(OTG-INFO-009)
通过识别web应用程序及其版本,来确定已知的漏洞和可能的利用方法。
测试方法:
a. cookies(特定名称)
phpBB |
phpbb3 |
wordpress |
Wp-settings |
1C-Bitrix |
BITRIX_ |
AMPcms |
AMP |
Django CMS |
Django |
DotNetNuke |
DotNetNukeAnonymous |
E107 |
E107_tz |
EPiServer |
EpiTrace,EPiServer |
Graffiti CMS |
Graffitibot |
Hotaru CMS |
Hotaru_mobile |
Impress CMS |
ICMSession |
Indico |
MAKACSESSION |
InstantCMS |
InstantCMS[logdate] |
Kentico CMS |
CMSPreferredCulture |
MODx |
SN4[12symb] |
TYPO3 |
Fe_typo_uesr |
Dynamicweb |
Dynamicweb |
LEPTON |
Lep[some_numeric_value]+sessionid |
Wix |
Domain=.wix.com |
VIVVO |
VivvoSessionId |
b. HTML源代码(泄露应用程序及版本)
Wordpress |
|
phpBB |
|
Mediawiki |
|
Joomla |
|
Drupal |
|
DotNetNuke |
DNN Platform – http://www.dnnsoftware.com |
c. 特殊文件和文件夹(暴力猜解文件夹和文件)
工具:
whatweb、BlindElephant、Wappalyzer
加固措施:同 识别Web应用框架。
10、映射应用架构(OTG-INFO-0010)
探测应用架构(如:反向代理服务器,数据库服务器,文件服务器等)。略。
*本文仅为《安全测试指南》一书的学习笔记