(1)列出所发现的与目标应用程序及其开发有关的每一个姓名和电子邮件地址,其中应包括所有已知的开发者、在HTML源代码中发现的姓名、在公司主要Web站点联系信息部分发现的姓名以及应用程序本身披露的所有姓名(如管理职员)。
(2)使用上文描述的搜索技巧,搜索发现的每一个姓名,查找他们在因特网论坛上发表的所有问题和答案。分析发现的所有信息,了解与目标应用程序功能或漏洞有关的线索。
4.利用Web服务器
Web服务器层面存在的漏洞有助于攻击者发现Web应用程序中并未建立链接的内容与功能。例如,Web服务器软件中存在大量的程序缺陷,允许攻击者枚举目录的内容,或者获取服务器可执行的动态页面的原始来源(请参阅第18章了解这些漏洞的一些实例以及确定漏洞的方法)。如果应用程序中存在上述程序缺陷,攻击者就可以利用它直接获得应用程序的所有页面和其他资源。
许多Web服务器上默认包含有助于攻击者对其实施攻击的内容。例如,样本和诊断性脚本中可能包含已知的漏洞,或者可被用于某些恶意用途的功能。而且,许多Web应用程序整合了常用的第三方组件,执行各种常规功能,如购物车、论坛或内容管理系统(CMS)功能。这些功能通常安装在与Web根目录或应用程序的起始目录相关的固定位置。
本质上,自动化工具非常适用于执行上述任务,许多自动化工具可向一系列已知的默认Web服务器内容、第三方应用程序组件和常用目录名称发布请求。虽然这些工具无法准确查明任何隐藏的预定义功能,但使用它们往往有助于查找其他应用程序没有建立链接以及有利于实施攻击的资源。
Wikto就是许多能够执行上述扫描的免费工具中的一个,其中还包含一个可配置的蛮力攻击内容列表。如图4-9所示,针对Extreme Internet Shopping站点进行扫描时,它可以使用自己的内部单词表确定一些目录。由于其中包含一个常用Web应用程序软件和脚本的大型数据库,因此,它还能确定以下目录,而攻击者通过自动或用户驱动的抓取却找不到这些目录:
http://eis/phpmyadmin/
此外,虽然/gb目录已通过抓取得以确定,但Wikto确定了以下URL:
/gb/index.php?login=true
Wikto检查该URL,是因为gbook PHP应用程序使用该URL,而前者包含一个广为人知的漏洞。
警告
和许多商业Web扫描器一样,Nikto和Wikto之类的工具包含大量默认文件和目录列表,因此似乎能够很好地完成大量检查任务。但是,这些检查大部分都是多余的,错误警报也经常发生。更糟糕的是,如果将服务器配置为隐藏旗标、将脚本或脚本集合移至其他目录、或以自定义的方式处理HTTP状态码,还经常会出现漏报。为此,通常最好是使用Burp Intruder等工具,因为这类工具可以解译原始的响应信息,并且不会误报或漏报问题。