当我们进行安全渗透测试的时候,首先要做的就是尽可能多地收集目标应用程序信息,所以,信息搜集是渗透测试一个必不可少的步骤。这项任务可以通过多种不同的方式来完成。
通过使用搜索引擎、扫描器、发送简单的HTTP请求或者专门精心制作的请求,都有可能导致应用程序泄漏诸如错误信息、版本信息以及所使用的技术等信息。
一、测试robots.txt文件
现在,我们首先介绍如何测试robots.txt文件。Web蜘蛛/机器人/爬虫可以用来检索网页,并沿着超链接进一步探索更多、更深的Web内容。当然,网站可以在根目录放上一个robots.txt文件,这样就可以规定哪些Web蜘蛛行为是站点可以接受的,那些是禁止的。
举例来说,我们可以看一下http://www.google.com/robots.txt的内容片断:
User-agent: *Allow: /searchhistory/Disallow: /news?output=xhtml&Allow: /news?output=xhtmlDisallow: /searchDisallow: /groupsDisallow: /images… |
伪指令User-Agent表示具体的Web蜘蛛/机器人/网络爬虫。例如User-Agent:Googlebot 表示GoogleBot网络爬虫,而User-Agent:* 泛指所有的Web蜘蛛/机器人/网络爬虫:
User-agent: *
伪指令Disallow的作用是规定哪些资源对蜘蛛/机器人/网络爬虫来说是禁用的。在上面的例子中,禁止蜘蛛访问下列目录:
… Disallow: /searchDisallow: /groupsDisallow: /images… |
Web蜘蛛/机器人/网络爬虫可以故意忽略robots.txt文件中的“禁令”。因此,不要把robots.txt当成是限制第三方访问、存储或者转帖web内容的灵丹妙药。
下面是针对robots.txt文件的黑盒子测试及用例:
Wget
Robots.txt文件可以从Web服务器的web根目录下找到。比如,可以使用wget检索www.google.com站点中的robots.txt,如下所示:
$ wget http://www.google.com/robots.txt–23:59:24– http://www.google.com/robots.txt=> ‘robots.txt’Resolving www.google.com… 74.125.19.103, 74.125.19.104, 74.125.19.147, …Connecting to www.google.com|74.125.19.103|:80… connected.HTTP request sent, awaiting response… 200 OKLength: unspecified [text/plain][ <=> ] 3,425 –.–K/s23:59:26 (13.67MB/s) – ‘robots.txt’ saved [3425] |
使用Google Webmaster Tools分析robots.txt
Google的Google Webmaster Tools提供了一个robots.txt分析功能,所以,在渗透测试时我们可以利用它来分析robots.txt,具体方法如下所示:
1. 用Google帐户登陆Google Webmaster Tools。
2. 在Dashboard上,单击想要分析的站点URL。
3. 单击Tools按钮,然后单击Analyze robots.txt。
二、利用搜索引擎进行侦察
下面将介绍如何搜索Google Index 并从Google Cache中删除有关的web内容。我们知道,GoogleBot一旦完成爬行过程,它就会根据标签和有关属性(诸如
Bad request Your browser sent to query this server could not understand. 来自SunONE 6.1的响应: $ nc sunone.example.com 80 GET / JUNK/1.0Bad requestYour browser sent a query this server could not understand. |
自动测试方法
获取Web服务器指纹的方法有多种。上面介绍的是手动方法,下面介绍一些通过工具自动进行的测试方法。其中,httprint就是这样一种工具。Httprint具有一个特征码字典,籍此可以识别目标服务器的类型和版本。下图是一个用法示例:
联机测试
在线工具的一个例子Netcraft,它能带给我们大量目标服务器的有用信息。通过它,我们可以检索操作系统、使用的Web服务器、服务器的运行时间、Netblock属主、与Web服务器和操作系统有关系的修改记录等信息。例如:
五、小结
当我们进行安全渗透测试的时候,首先要做的就是尽可能多地收集目标应用程序信息,所以,信息搜集是渗透测试一个必不可少的步骤。本文为读者介绍了如何测试robots.txt文件、利用搜索引擎进行搜集有用信息以及识别应用程序入口的方法。在本文的下篇中,我们将为读者详细介绍如何测试目标地址上运行了哪些应用程序,以及如何通过错误信息提前有用消息的具体方法。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
渗透测试人员必备技能:实施渗透测试的HTTP方法
本文将讨论一些实施渗透测试时的重要HTTP方法,旨在帮助没有Web应用渗透测试知识的渗透测试人员能够充分利用已有工具,成功地实施端到端的Web渗透测试。
-
关于信息安全评估,需要get的重点
即使周期性持续地执行,安全评估也不是解决所有安全问题的完美方法。然而,可以肯定的一点是,如果选择忽视这些重要工作,历史悲剧肯定会再一次重复……
-
Kali Linux渗透测试五步曲
Kali Linux的设计目的是渗透测试。不管渗透测试者的起点是白盒测试、黑盒测试,还是灰盒测试,在用Kali或其它工具进行渗透测试时,需要遵循一些步骤。
-
转型中的深信服不只有安全,云和虚拟化占了半壁江山
深信服从2011年就已开始布局云和虚拟化领域。积累至今,云和虚拟化已发展成与安全业务平分秋色,再仅拿安全厂商来看待深信服显然已不合时宜了。