(转载翻译)WEB指纹应用框架

nicky   ·   发表于 2020-04-01 20:57:32   ·   技术文章投稿区

前言:我可能会跳一些废话比较多的章节

概要

WEB指纹框架识别在信息收集过程中比较重要。如果渗透测试人员通过信息收集知道目标网站是在用什么框架类型会带来比较大的优势。某些CMS可能会存在一些公开的漏洞,而且可能会存在错误配置导致其它的信息泄露问题等。

WEB框架有几种不同的供应商和版本。有关它的信息在渗透中很有帮助,也可以帮助改进测试过程。可以通过仔细分析某些常见位置来得到一些关键信息。大多数WEB框架在比较常见的地方会留下一些标记,可以帮助攻击者发现它们。基本上自动扫描工具会做这些事情,它们会从预定义的位置查找标记,然后返回到数据库里面进行比较。

请注意,本文章并没有区分WEB应用框架和内容管理系统(CMS)。这样做是方便在以后的章节对它们两者进行指纹识别。而且这两个类型都被称为WEB框架。

测试目的

定义使用的WEB框架类型,可以更好的了解安全测试方法

测试方法

黑盒测试
有几个最常见的位置来确定当前的WEB框架:
1.HTTP请求头
2.cookie信息
3.HTML源码
4.特殊文件和文件夹
5.文件扩展名
6.错误信息

HTTP请求头

识别WEB框架最基本的就是看看HTTP响应请求头中的X-Powered-By的信息。许多工具可用于对目标进行指纹识别。最简单就是用netcat来进行:

从X-Powered-By那行中可以知道这个WEB应用框架可能是Mono。但是,尽管这种方法比较简单快捷很多网站已经通过适当的配置禁止了X-Powered-By请求头并且还使用了其它技术来混淆HTTP请求头。在同一示例中,测试人员可能会错过X-Powered-By请求头获得其它的数据包:

有时候,还有更多的HTTP请求头指向某个WEB框架。在下面的例子中,根据来自HTTP请求的信息可以看到X-Powered-By里面包含PHP版本。但是X-Generator请求头会指出实际上是Swiftlet,这有助于渗透测试人员扩展进攻思路。执行指纹识别时,得检查每个请求头看看会不会有信息泄露:

确定当前WEB框架的另外一种方法是查看cookie,考虑一下HTTP请求:

Cookie里面的CAKEPHP已经是自动设置,它提供了有关所使用框架的信息。常见的Cookie名称列表中有提到一些类似的信息。限制是相同的,可以更改cookie名称。例如对于所选的CAKEPHP框架,可以通过以下配置来完成:

而且与X-Powered-By请求头相比,进行cookie更改可能性更小,这种方法更可靠。

HTML源码

该技术基于在HTML页面源代码中查找某些东西。通常可以找到很多信息,这些信息可以帮助测试人员确定WEB框架。最常见的就是公开HTML注释。经常可以找到某些特定于框架的路径,指向包含css和js文件夹的链接。

从下面的截图中,可以通过标记来发现这个网站所使用的框架及其版本。注释,特定的路径和脚本变量都可以帮助攻击者快速确定用的是ZK:

此类信息更常出现在<head></head>附近,<meta>标记或页面底部。但是建议检查整个文档,因为它可能用于其它目的,例如检查其它有用的注释和隐藏字段。有时,WEB开发人员不太在乎隐藏有关所使用框架的信息。仍让可以在页面底部发现其他信息:

文件扩展名

URL可能会包含文件扩展名。文件扩展名也可以帮助识别WEB平台或技术
例如OWASP使用PHP:
https://www.owasp.org/index.php?title=Fingerprint_Web_Application_Framework&action=edit&section=4

下面是一些常见的WEB扩展名
PHP —PHP
aspx —Microsoft ASP.NET
jsp —Java Server Pages

WhatWeb

Kali下有这个工具,WhatWeb是当前比较流行的指纹识别工具之一。它是用RUBY写的,根据输入的URL会进行匹配:
1.文字字符串
2.常用表达式
3.Google Hack数据库查询
4.MD5哈希
5.网站识别
6.HTML标记模式

下面就是输出的例子:

Wappalyzer

Wappalyzer是火狐和谷歌浏览器的扩展程序。它仅适用于正规则表达式匹配,除了在浏览器中加载页面外,不需要任何其它操作。虽然有时候会误报,但是还是挺方便的。

请注意,默认情况下,Wappalyzer会将有关在访问1的网站上运行的技术悄悄的返回给开发人员,然后卖给第三方。所以得在附加选项中禁用数据收集。

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

用户名金币积分时间理由
奖励系统 100.00 0 2020-09-07 16:04:12 投稿满 10 赞奖励
奖励系统 50.00 0 2020-09-07 11:11:09 投稿满 5 赞奖励

打赏我,让我更有动力~

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

© 2016 - 2022 掌控者 All Rights Reserved.