(转载翻译)OWASP v5 4.1.9 WEB指纹应用

nicky   ·   发表于 2020-04-03 14:53:59   ·   技术文章投稿区

概要

现在几乎每个人想到的开发WEB基本上都有了,没有什么新鲜的东西。在全球范围内有大量免费和开源软件项目中,应用程序安全性侧行很可能会面向完全或部分依赖于某些知名程序或CMS(例如 Wordpress,phpBB,Mediawiki等)。了解正在使用的WEB应用程序组件有助于测试过程,并且大大减少测试过程中所需的工作量。

测试目的

找出WEB应用程序和版本来确定已知漏洞或者是在测试过程中可以使用的漏洞。

测试方法

Cookie
识别WEB应用程序的一种相对靠谱的方法是通过特定与应用程序的cookie,考虑以下HTTP请求:

cookie wp-settings-time-1是自动设置好的,它提供了有关这个网站所使用框架的信息。wp-seetings就是代表这个网站用的是wordpress CMS的意思。不过网站可以更改cookie信息。

HTML源码:

这个方法是基于在HTML页面源代码中查找某些模式。通常,开发人员会在某些HTML旁边添加注释。而且经常可以找到某些特定于应用程序的路径,即指向特定文件的css或js文件夹。最后特定的脚本可能会指向某个应用程序。

从下面的meta标记中,可以轻松的了解网站使用的应用程序及其版本。注释,特定路径和脚本变量,可以帮助攻击者快速确定应用程序的实例:

此类信息更常见的放在<head></head>之间,<meta>的头部或页尾,但是建议检查整个文档,因为它可能用于其它目的。检查一下注释和隐藏的字段。

特定的文件和文件夹

除了从HTML来源收集信息外,还有另外一种方法可以帮助攻击者高精度的确定应用程序。每个应用程序在它们自己的服务器上都有自己的特定文件和文件夹。虽然有时候可以从HTML页面源码中查看到特定的路径,但是有时候不会显示出来,而是留在服务器上。

为此,可以使用dirbusting的方法。dirbusting会强制使用具有可预测的文件夹和文件名来监视HTTP响应以枚举服务器内容。这个信息既可用于查找默认文件并对其进行攻击,也可用于对WEB应用程序进行指纹识别。可以采用多种方式进行伪装,下面就通过Burp Suite已定义列表和入侵功能,成功对WordPress目标进行伪装攻击:

我们可以看到对于某些WordPress文件夹(比如,/wp-includes/, /wp-admin,wp-content) HTTP-response都是为403禁止状态码或者是302重定向到wp-login.php页面。只有200是代表可以访问的。所以可以用相同的方式分配不同的应用程序插件文件夹及其版本。在下面的示例中,可以看到Drupal插件的CHANGELOG文件,该文件提供了有关正在使用的应用程序信息,并有一个易受攻击的插件版本。

提示:在进行dirbusting前,建议检查下robots.txt文件。有时候也可以在其中找到一些特别的文件夹和其它敏感信息。下面是robots.txt的示例:

对于每个特定的应用程序,特定的文件和文件夹是不同的。建议在测试的时候也安装相应的应用程序可以更好的了解所提供的基础结构以及服务器上的剩余文件。但是,已经存在好几个文件列表的时候,可以通过FuzzDB字典里的文件进行下一步爆破。

常见的应用程序标识符

cookies
phpBB phpbb3
Wordpress wp-settings
1C-Bitrix BITRIX

AMPcms AMP
Django CMS django
e107 e107_tz
Graffitis CMS graffitibot
Hotaru CMS hotaru_mobile
Kentico CMS CMSPreferredCulture

HTML源代码

转载:https://github.com/OWASP/wstg/blob/master/document/4-Web_Application_Security_Testing/01-Information_Gathering/09-Fingerprint_Web_Application.md

用户名金币积分时间理由
奖励系统 100.00 0 2020-09-04 14:02:28 投稿满 10 赞奖励
奖励系统 50.00 0 2020-09-03 17:05:40 投稿满 5 赞奖励

打赏我,让我更有动力~

0 Reply   |  Until 2020-4-3 | 451 View
LoginCan Publish Content
返回顶部 投诉反馈

© 2016 - 2022 掌控者 All Rights Reserved.