大模型时代下,Web指纹识别的现状与未来

admin 2025年5月12日20:09:44评论8 views字数 4407阅读14分41秒阅读模式
大模型时代下,Web指纹识别的现状与未来

全文共3050字,阅读大约需5分钟。

随着网络安全威胁的不断演变,Web安全始终是关注的重点。Verizon在《2024 Data Breach Investigations Report》中指出,约40%的网络攻击通过Web应用程序发起,成为网络攻击的主要切入点。无论“攻”还是“防”,Web指纹识别技术都尤为重要,对于防守方来说,指纹识别能在早期发现漏洞和安全隐患,降低被攻击的风险。本文将介绍Web指纹识别的技术现状与工具,帮助读者从资产识别的角度提升Web安全防护能力。

Web技术简介

Web技术是支撑现代互联网的核心技术体系,其主要包括浏览器(如Chrome、Firefox),负责解析和呈现Web内容;前端框架(如React、Vue),用于构建动态、交互式用户界面;Web中间件(如Nginx、Apache、Tomcat),负责处理请求和协调前后端通信;后端框架(如Django、ThinkPHP),实现业务逻辑与动态数据处理;数据存储(如MySQL、Redis),管理和存储结构化或非结构化数据;以及操作系统(如Linux、Windows),提供底层支撑和运行环境。此外,基于HTTP和加密的HTTPS协议实现了客户端与服务器之间的高效通信,Web相关技术如下图所示。

大模型时代下,Web指纹识别的现状与未来

图1 Web技术示意图

主流Web识别方法

Web技术识别通常通过指纹识别和信息收集来实现,包括分析HTTPHeaders、HTML页面、Cookies特征以及文件路径结构等,通过访问特定路径(如/wp-admin或/robots.txt)和观察页面内容,也能推断出部分技术细节。

2.1 HTTPHeaders

HTTP头部信息是Web请求和响应的重要组成部分,其中包含了丰富的服务器和应用相关的信息。主要包括Server、X-Powered-By、Set-Cookie、Location,识别维度和例子如下图所示。

大模型时代下,Web指纹识别的现状与未来

图2 HTTP Header中识别Web信息

2.2 HTT Pbody

HTT Pbody是Web请求和响应中的主体部分,它包含了网页内容、JSON数据、XML数据等信息。也可以识别出Web服务所使用的框架、技术栈及其他相关信息。 

2.2.1页面内容特征

通过分析网页的HTML内容,我们可以识别出Web服务所使用的框架和技术栈。许多Web应用会在生成的页面中嵌入特定的标识符,如特定的CSS、JavaScript文件和HTML标签。例如:

  • WordPress页面会包含wp-content和wp-includes等特定路径。

  • Joomla页面会包含的标记。

2.2.2错误页面信息

许多Web应用在出现错误时,会返回带有错误详情的HTML页面,这些错误页面通常带有框架或应用的标识信息。例如:

  • PHP错误页面:返回包含Fatalerror:UncaughtError:Calltoundefinedfunction,可以推测目标Web服务使用了PHP。

  • Django错误页面:包含DjangoDebugMode:Traceback的错误页面可能表明该应用使用了Django框架。

2.2.3JavaScript特征

JavaScript代码中可能包含与Web服务相关的特定库和框架信息。例如:

  • React:页面中包含react.js,并且有React.createElement等函数调用时,说明该页面使用了React框架。

  • Angular:包含angular.js,并且有ng-app或ng-controller等Angular特有的标记时,说明使用了Angular框架。

  • Vue.js:如果页面中包含vue.js,且有v-bind、v-if等Vue.js特有指令时,说明使用了Vue.js。

2.2.4文件hash

文件哈希(FileHash)是通过哈希算法对文件内容进行计算,生成一个唯一的标识符,用于识别文件。通过对Web应用中的关键文件(如JavaScript、CSS、HTML模板文件、图标文件等)的哈希计算,可以帮助我们识别网站所使用的技术栈、框架或内容管理系统(CMS)。常见的关键文件:

  • JavaScript文件:Web应用的框架和库通常会以JavaScript文件的形式存在。通过检查这些JavaScript文件的哈希值,可以识别出框架(例如React、Vue、Angular)。

  • CSS文件:一些Web框架(如Bootstrap、TailwindCSS)会包含特定的样式表文件,通过这些CSS文件的哈希值可以识别使用的前端框架。

  • HTML模板文件:一些CMS和Web应用会提供特定的HTML模板文件,如WordPress的wp-content和wp-includes目录中的文件。

  • 图标文件(如Favicon):如前所述,Favicon图标文件也可以帮助识别Web技术。

  • 特定技术的文件:例如,PHP应用可能会包含名为index.php的文件,Django应用可能包含manage.py,Ruby on Rails应用可能包含config.ru。

常用Web识别工具

为了提高识别准确性和效率,通常会使用一些自动化工具来帮助进行Web框架指纹识别。接下来介绍几款常见的工具。

3.1Wapplayzer

Wappalyzer是一款用于识别网站技术栈的开源工具。它能够分析网站的HTTP头、HTML代码、JavaScript变量等信息,推测出网站使用的CMS、Web服务器、JavaScript框架、CDN、数据库等技术。最初由ElbertAlias开发,目前已成为一款广泛使用的技术指纹识别工具,被用于安全研究、市场分析和渗透测试。

Wappalyzer主要特点:

  • 多种检测方式,利用URL结构、HTTP响应头、网页内容和JavaScript变量等信息进行识别。

  • 跨平台支持,提供浏览器插件、CLI工具和API(需要付费订阅),适用于多种环境。

  • 丰富的技术库,维护一个不断更新的技术指纹数据库,覆盖数千种技术。

Wappalyzer主要通过模式匹配来识别网站的技术组件,具体的规则格式如下图所示,目前版本的支持识别5595种Web技术,包含105种类型。

大模型时代下,Web指纹识别的现状与未来

图3 Wappalyzer识别规则(Nginx)

具体识别效果以Wappalyzer官网为例,如下图所示,可识别网站使用的分析工具、JavaScript框架、支付处理工具、安全技术、Web框架、实时聊天相关技术。

大模型时代下,Web指纹识别的现状与未来

图4 wappalyzer识别效果

此外,Wappalyzer会将匿名的收集用户的数据并传回他们的服务器,建议在设置中关闭。

3.2ObserverWard

ObserverWard(侦查守卫)是一款开源的指纹识别工具,主要用于Web资产的识别和安全评估。它类似于Wappalyzer,但更侧重于信息安全领域,能够识别网站使用的CMS、框架、Web服务器、中间件、安全防护设备等信息。

ObserverWard主要特点:

  • 基于YAML编写探针:支持YAML格式的指纹规则,用户可以自定义匹配规则和提取器,提高识别的灵活性。

  • 支持服务和Web应用版本识别:不仅能识别Web技术栈,还可检测后端服务及其具体版本信息。

  • 符合CPE命名规范:使用NVD以及标准的通用CPE规范,提高指纹匹配的标准化程度。

  • 社区化指纹库与Nmap服务探针:结合社区贡献的指纹数据,并支持Nmap探针,以提升识别的广度和准确性。

  • 集成Nuclei进行漏洞验证:与Nuclei扫描器集成,支持漏洞验证,便于进行安全评估和渗透测试。

ObserverWard有一个独立的指纹库项目,地址为https://github.com/0x727/FingerprintHub,下图是ObserverWard为识别thinkphp的规则格式样例:

大模型时代下,Web指纹识别的现状与未来

图5 ObserverWard识别规则(thinkphp)

工具识别效果如下图所示,识别的Web组件的维度Wapplayzer要少很多,但ObserverWard支持识别Web组件的风险情况,这部分主要调用Nuclei的识别能力。

大模型时代下,Web指纹识别的现状与未来

图6 ObserverWardWeb组件识别样例(Nginx)

大模型时代下,Web指纹识别的现状与未来

图7 ObserverWard识别脆弱性[4]

3.3 BlindElephant

BlindElephant是一款开源的Web应用程序指纹识别工具。该工具支持15种常见Web应用几百个版本的识别。同时,它还提供WordPress和Joomla的各种插件。该工具支持用户自己扩展,添加更多的版本识别支持。

BlindElephant该项目已经不在维护了,但其Web版本识别的方法很经典。通过读取目标网站的特定静态文件,计算其对应的哈希值,然后和预先计算出的哈希值做对比,通过对不同路径的版本号取交集,推测最可能得版本信息。原理示意图如下:

大模型时代下,Web指纹识别的现状与未来

图8 BlindElephant版本识别原理示意图[5]

总结

Web指纹识别技术在网络安全中占据了至关重要的地位。本文简要分析了其基本原理与相关工具,通过分析HTTP头部、网页内容及文件等信息,能够有效识别Web应用的技术栈和框架。随着技术的进步,Web技术种类不断增加,未知指纹和版本识别依旧是当前面临的挑战。因此,除了传统的静态分析,动态内容分析、网络协议特征分析,以及结合AI大模型对资产识别的研究,成为未来发展的关键。大模型能够从复杂和多样化的输入中提取深层次的特征,不仅能识别已知资产,还能够应对新的、未曾见过的资产类型。它们通过预训练和迁移学习等技术,能够在面临未知或不完全信息时,依然进行有效的推理和判断,从而提升资产识别的准确性和效率。因此,随着大模型技术的发展,网络安全领域中的未知资产识别难题有望得到解决,值得我们持续关注。

绿盟科技CAASM(网络资产攻击面管理)已全面整合本文提到的所有识别能力,并在此基础上引入AI驱动的未知资产识别功能,突破了传统指纹库的局限。通过智能发现潜在风险资产,构建全局资产视图,帮助安全团队全面掌控网络安全态势。

参考文献

[1].https://www.verizon.com/business/resources/T697/reports/2024-dbir-data-breach-investigations-report.pdf

[2].https://github.com/emo-crab/observer_ward

[3].https://www.wappalyzer.com/

[4].https://github.com/emo-crab/observer_ward?tab=readme-ov-file

[5].https://blindelephant.sourceforge.net/

https://github.com/emo-crab/observer_ward

大模型时代下,Web指纹识别的现状与未来
大模型时代下,Web指纹识别的现状与未来
大模型时代下,Web指纹识别的现状与未来
大模型时代下,Web指纹识别的现状与未来
大模型时代下,Web指纹识别的现状与未来

原文始发于微信公众号(绿盟科技):大模型时代下,Web指纹识别的现状与未来

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月12日20:09:44
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   大模型时代下,Web指纹识别的现状与未来https://cn-sec.com/archives/4056269.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息