目录
1.1、隐藏内容:
应用程序常常包含没有立接链接或无法通过可见的主要内容访问的内容和功能
eg:
1、在使用后没有删除测试或调试功能
2、应用程序为不同类型的用户(如匿名用户、通过验证的常规用户和管理员)提供不同的功能。在某种权限下对应用程序进行彻底抓取的用户会遗漏拥有另一种权限的用户可使用的功能。发现相关功能的攻击者可利用这些功能提升其在应用程序中的权限
3、备份文件。如果使用动态页面, 它们的文件扩展名可能已变成不可执行文件扩展名, 可通过审查页面源代码查找可在主页中加以利用的漏洞。
4、包含Web根目录下(或根目录外)完整文件快照的备份档案, 可以使用它迅速确定应用程序的所有内容与功能
5、部署在服务器上、用于测试目的但尚未在主应用程序中建立链接的新功能
6、定制应用程序中的默认应用程序功能对用户不可见, 但在服务器端仍然可见。
7、尚未从服务器中删除的旧版本文件。如果使用动态页面, 这些文件中可能包含当前版本已经修复、但仍然可以在旧版本中加以利用的漏洞
8、配置和包含敏感数据(如数据库证书)的文件
9、编译现有应用程序功能的源文件
10、极端情况,源代码中可能包含用户名和密码等信息,但更可能提供有关应用程序状态的信息, 如果某个位置出现test this function(测试此功能)类似的关键短语,应立即从此处开始探查漏洞
11、包含有效用户名、会话令牌、被访问的URL以及所执行操作等敏感信息的日志文件
1.2、bp爆破:
简介:
Bp的Intrude,,可用于循环访问一组常见的目录名称并收集服务器的响应信息。攻击后,可通过对结果进行分类来确定有效的目录
观察目标文件命名特点(如首目录字母大写等),Bp lntrudcr可定制化,对部分文件名实施蛮力攻击(灵活机动)
分析:
1、巧妙使用蛮力(通过已知目录继续往下爆破等)
2、通过已知特点信息爆破(如首目录字母大写等)
3、通过公共信息(分析曾经存在链接,历史记录中可能保存隐藏内容的引用)
搜索引擎, 如Google。这些搜索引擎中保存有其使用的强大爬虫所发现的所有内容的详细目录, 并且将这些内容保存在缓存中, 即使原始内容已被删除, 缓存中的内容仍然不变。
Web档案,保存大量Web站点的历史记录,许多时候允许用户浏览某个站点从几年前到现在于不同时期彻底复制的站点快照
4、利用Web服务器
Web服务器层面存在的漏洞有助于攻击者发现Web应用程序中并未建立链接的内容与功能。例如, Web服务器软件中存在大量的程序缺陷, 允许攻击者枚举目录的内容, 或者获取服务器可执行的动态页面的原始来源。如果应用程序中存在上述程序缺陷, 攻击者就可以利用它直接获得应用程序的所有页面和其他资源
Web服务器上一般包含有助于攻击者对其实施攻击的内容。例如, 样本和诊断性脚本中可能包含已知的漏洞, 或者可被用于某些恶意用途的功能。许多Web应用程序整合了常用的第三方组件, 执行各种常规功能, 如购物车、论坛或内容管理系统(CMS)功能。这些功能通常安装在与Web根目录或应用程序的起始目录相关的固定位置
自动化工具可向一系列已知的默认Web服务器内容、第三方应用程序组件和常用目录名称发布请求。虽然这些工具无法准确查明任何隐藏的预定义功能, 但使用它们往往有助于查找其他应用程序没有建立链接以及有利于实施攻击的资源。
1.3、扫描工具:
使用专门的爆破工具(快速上手)
2.1、简介:
使用参数的方式控制逻辑, 请参数在执行功能的时候就会出现变化。
eg:
如果在URL的查询字符串中加人debug=true参数,就可能会发生改变,可能会关闭某些输人确认检查, 允许用户避开某些访问控制或者在响应中显示详细的调试信息。当无法从应用程序的任何内容直接推断它如何处理这个参数(例如, 它并不在超链接的URL中插入debug=false)。可以通过猜测许多值,在提交正确的值之后了解这个参数产生的效果
2.2、分析:
(1)使用常用调试参数名称(调试、测试、隐藏、来源等)和常用值(真、是、开通和等)列表, 向一个已知的应用程序页面和功能提出大量请求。重复执行这一操作, 直到浏览完所有名/值对组合。在POST请求的URL查询字符串和消息主体中插入增加的参数。
可以使用多组有效载荷和“集束炸弹” (cluster bomb)攻击类型,通过Bwplntrudo,执行这一测试
(2)监控收到的全部响应, 确定任何表明增加的参数给应用程序处理过程造成影响的异常
(3) 根据可用时间,在许多不同的页面或功能中查找隐藏的参数。选择开发人员最有可能在其中执行调试逻辑的功能, 如登录、搜索、文件上传和下载等