
一、Web应用指纹识别分类1. 后端CMS识别CMS一般PHP开发居多源码程序利用源码程序名搜索漏洞情况、源码下载进行后期的代码审计2. 前端JS框架识别JS框架爬取更多的从JS筛选URL或敏感泄露key等也可以通过对JS代码逻辑进行代码审计。3. 组件识别组件Java居多常见有过安全漏洞组件Shiro、Solr、Log4j、SpringBoot等。4. 框架识别框架PHP、Java、Python都有CMS识别程序源码有些源码识别不到。因为大部分CMS识别的都是以PHP开发为主Python、Java相对较少Python、Java等开发产品较少且大多闭源CMS能识别到的框架大多以PHP为主Java与PHP不同存在各种组件可理解为拓展框架简单代码的一个整合库如果使用框架就只需要学习使用框架调用即可组件第三方的功能模块日志记录数据监控数据转换例如文件上传功能是需要很多代码来实现的框架把这个代码进行封装调用即可。影响如果采用框架开发代码的安全性取决于框架的过滤机制。5. Web架构模型最简单最入门的开发模型功能代码全部手写最容易出现漏洞程序员水平不一没有第三方或团队的检测单纯的自己写。结合开发框架的开发模型以框架为核心实现功能第三方或团队开发的封装代码框架一般内置过滤机制框架漏洞。结合开发框架外加组件模型以框架为核心组件为辅实现功能第三方或团队开发的封装代码框架一般内置过滤机制框架和组件漏洞。二、指纹识别本地工具#指纹识别-本地工具--Gotoscan--CMSeeK最适用不出网环境GotoscanGitHub地址https://github.com/newbe3three/gotoscan适用于内网或不出网环境适合进行大规模URL批量快速识别指纹识别与强大漏洞扫描CMSeeKGitHub地址https://github.com/Tuhinshubhra/CMSeeK不仅识别CMS还能探测版本和扫描漏洞适合针对性强的漏洞探测与利用网络空间搜索引擎Fofa、Quake、Hunter网络空间IO图标关系三、Python开发框架识别#Python-开发框架-Django--FlaskDjango识别特征识别插件WappalyzerSet-Cookie: csrftokenFlask识别特征识别插件WappalyzerEtag: flask-xxxxx四、PHP开发框架识别#PHP-开发框架-ThinkPHP--Laravel--YiiThinkPHP识别特征识别插件WappalyzerX-Powered-By: ThinkPHPLaravel识别特征识别插件WappalyzerSet-Cookie中特征的格式Set-Cookie: laravel-sessionSet-Cookie: XSRF-TOKENYii识别特征识别插件WappalyzerSet-Cookie中特征的格式Set-Cookie: YII_CSRF_TOKEN五、Java框架组件识别#Java-框架组件-Fastjson--Shiro--Solr--Spring参考资源52类110个主流Java组件和框架介绍_基于java的组件有哪些-CSDN博客1. Fastjson/Jackson组件描述是一个Java库可以将Java对象转换为JSON格式当然它也可以将JSON字符串转换为Java对象识别方法在提交JSON数据包中修改测试Fastjson组件会把01解析成1解析01 → 为1Jackson组件在解析01时会抛出异常解析01报错参考链接奇安信攻防社区-浅谈黑盒识别Fastjson/Jackson组件 浅析如何黑盒中识别Fastjson/Jackson组件https://www.iculture.cc/forum-post/24115.html2. Shiro组件验证用户身份的组件描述 Apache Shiro 是一个强大且易于Java安全框架执行身份验证、授权、密码和会话管理。识别特征请求包的Cookie中存在rememberMe字段返回包中存在Set-CookierememberMedeleteMe检测方法直接发包即可将Cookie内容改为rememberMe1若响应包有rememberMedeleteMe则基本可以确认网站为Apache Shiro搭建的。3. Struts2框架描述Struts2 是一个开源的、基于Java的 MVCModel-View-Controller框架主要用于开发企业级Java Web应用程序。它最初由Apache软件基金会开发并被广泛用于构建动态网站、网络应用和Web服务。识别特征一般使用Struts2框架后缀带do或action可以尝试进行利用。例home.do、index.action4. SpringBoot框架描述Spring Boot 是一个开源的 Java-based 框架用于开发基于Spring框架的独立应用程序。尽管它本身是基于Spring框架的一个组件但其设计初衷是为了简化Spring应用程序的创建和开发过程。Spring Boot 提供了一种快速、广泛接受的方式来搭建和运行基于Spring的应用程序而无需大量的配置代码。识别方法通过Web应用程序网页标签的小绿叶图标通过SpringBoot框架默认报错页面5. Solr组件识别8983端口描述 Apache Solr是美国阿帕奇Apache软件基金会一款基于Lucene一款全文搜索引擎的搜索服务器。该产品支持层面搜索、垂直搜索、高亮显示搜索结果等。识别特征默认开放8983端口访问页面也可以探针到。6. Log4j2一款日志记录工具描述Log4j2 本质上是日志框架但在具体架构中由多个组件构成。作为框架它内部包含多个可插拔的组件。宏观上是框架微观上由组件组成。识别特征暂无显要特征判断是否存在。六、补充内容补充##### vulhub靶场环境拉取与漏洞环境搭建 # 下载vulhub全套漏洞环境 git clone https://github.com/vulhub/vulhub.git cd vulhub # 进入漏洞目录 cd shiro/CVE-2xxx-xxxx # 查看开启端口 docker-compose config # 一键拉取镜像并后台启动 docker-compose up -d