组件框架漏洞

一.基础概念

1.组件

  1. 定义:组件是软件开发中具有特定功能或特性的可重用部件或模块,能独立使用或集成到更大系统。

  2. 类型

    • 前端 UI 组件:像按钮、下拉菜单、导航栏等,负责构建用户界面,提升用户交互体验。例如在电商 APP 中,商品展示页面的图片轮播组件,方便用户浏览商品图片。
    • 后端服务组件:承担业务逻辑处理和数据存储等功能,比如用户登录验证组件,用于验证用户输入的账号密码是否正确。
    • 安全组件:保障软件系统的安全,如加密组件对用户敏感信息进行加密处理,防止数据泄露。
    • 数据处理组件:实现数据的清洗、转换和分析等操作,在大数据分析系统中,数据清洗组件可去除脏数据。
  1. 作用:组件通过接口或 API 进行交互和集成,有助于构建复杂软件系统,提高开发效率,减少重复开发工作。

2.框架

  1. 定义:框架是一种软件开发工具或平台,提供一套结构和规范,助力开发人员构建和组织软件应用程序。
  2. 组成部分:包含通用功能模块、设计模式、工具和规范。例如 MVC(Model - View - Controller)设计模式,将软件分为模型、视图和控制器三部分,各司其职,提高代码的可维护性和可扩展性。
  3. 作用:开发人员基于框架开发应用程序,无需从头编写所有代码,大大缩短开发周期,同时使软件架构更规范、稳定。

二.Apache Shiro-550漏洞

1.漏洞分析

2.环境搭建

  1. 新建docker-compose.yml文件,将以下内容复制进去

    version: '2'
    services:web:image: vulhub/shiro:1.2.4ports:- "8080:8080"
    
  2. 然后执行:docker-compose up -d​

  3. 启动后访问:http://your-ip:port/


3.组件发现

  • 首先需要知道目标是否使用该组件,在访问及登录时抓包,如果响应头 set-cookie​ 中显示 rememberMe=deleteMe​ ,说明使用了 Shiro 组件。


  • 除此之外,还可以自己在请求包中的Cookie处添加 rememberMe=1 然后查看响应头是否有 rememberMe=deleteMe​


  • 还可以使用一些指纹探测工具 -- Finger指纹探测工具

  • 以及Burp Suite插件进行被动扫描 -- ShiroScan

4.漏洞利用

  • 在获取到目标网站使用了Shiro组件之后,可以再使用其他的工具爆破密钥,例如LiqunKit综合漏洞利用工具,运行该工具需要有java环境。


三.SpringBoot Actuator漏洞

​Spring​ 是 java web​ 开发里非常常见的开发框架,SpringBoot​ 不是 Spring​ 官方的框架模式,而是一个团队在Spring4.0版本上二次开发并开源公布出来的。简而言之,SpringBoot​ 就是一个轻量级,简化配置和开发流程的web整合框架。

​Actuator​ 是 Spring Boot​ 框架中的一个功能模块,它提供了一系列用于监控和管理 SpringBoot​ 应用程序的端点(endpoints​)。这些端点可以通过HTTP、JMX(Java Management Extensions)或 其他一些远程方式访问,用于查看应用程序的各种运行时信息和健康状态。

​SpringBoot Actuator​ 未授权访问漏洞可以使得攻击者可以在不需要进行身份验证的情况下访问一
些敏感的管理端点,从而获取关键的应用程序信息或执行某些管理操作。这种漏洞的存在可能导致严
重的安全问题,如信息泄露、应用程序篡改或拒绝服务攻击。

1.端点信息

  • 介绍:Spring Boot 1.x​ 版本默认内置路由的根路径以 /​ 开始,2.x​ 则统一以 /actuator​ 开始,SpringBoot Actuator​ 的端点默认情况下是开放的,攻击者通过访问这些敏感的管理端点,从而获取关键的应用程序信息或执行某些管理操作。

  • 主要功能:

      1. 健康检查(Health Check):提供了一个用于检查应用程序健康状况的端点。通过访问`/actuator/health`端点,可以查看应用程序是否正常运行。它对于实时监控应用程序的健康状态和故障排查非常有用。
      1. 应用程序信息(Application Information):提供了关于应用程序的一些基本信息,如应用程序名称、版本号、描述等。通过访问`/actuator/info`端点,可以获取这些信息。
      1. 环境配置信息(Environment Information):提供了应用程序的配置属性信息。通过访问`/actuator/env`端点,可以查看应用程序的配置属性及其值。
      1. 线程转储(Thread Dump):提供了获取应用程序线程转储的端点,通过访问`/actuator/threaddump`端点,可以查看应用程序线程的当前状态,用于分析线程问题和死锁情况。
      1. 度量指标(Metrics):提供了关于应用程序性能和资源利用的度量信息。通过访问`/actuator/metrics`端点,可以查看请求统计、内存使用、垃圾回收等指标。
      1. 管理端点(Management Endpoints):除了上述常用端点外,Actuator还提供了其他一些管理端点,如刷新配置、关闭应用程序等。

2.组件发现

  • 通过网站图标发现

  • 通过python脚本发现 -- SB-Actuator

    • 使用命令:python SB-Actuator.py -u ip​

3.漏洞利用

A.获得被脱敏数据
  • 介绍:访问 env 接口时,SpringBoot actuator 会将一些带有敏感关键词(如 password、secret)的属性名对应的属性值用 * 号替换达到脱敏的效果。

    1. ​GET​ 请求目标网站的 /env​ 或 /actuator/env​ 接口,搜索 ******​ 关键词,找到想要获取的被星号*​ 遮掩的属性值对应的属性名。


    2. 发送数据包,其中的 security.user.password​ 替换为实际要获取的属性名,直接发包;明文值结果包含在 response​ 数据包中的 value​ 键中。

四.ThinkPHP漏洞

ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的开源轻量级PHP框架。很多cms(内容管理系统)就是基于ThinkPHP二次开发的,所以ThinkPHP出问题的话,会影响很多基于ThinkPHP开发的网站。

1.框架发现

A.通过默认页面发现
B.通过网站图标发现

2.漏洞利用

A.漏洞发现
  • 使用 Python​ 脚本 TPscan​ 发现 -- TPscan:一键ThinkPHP漏洞检测

  •  
B.漏洞利用
  • 介绍:使用自动化利用工具一键获取权限 -- LiqunKit综合漏洞利用工具

    • ​​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/893834.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

性能测试丨JVM 性能数据采集

什么是JVM性能数据采集? JVM性能数据采集是指通过一些工具和技术采集与Java虚拟机相关的性能数据。这些数据包括但不限于内存使用、CPU使用、垃圾回收(GC)行为、线程活动等。合理地分析这些数据,可以帮助我们找出系统的瓶颈&…

隐藏字符造成的linux命令执行失败(非常难绷)

隐藏字符问题发生情景 事情是这样的,为了方便主机和虚拟机之间数据的传输,我打算建一个共享文件夹。由于我选择的是手动挂载,在VirtualBox 中创建好共享文件夹后,我着手打开Ubuntu,想将这个共享文件夹挂载到我的家目录…

[ Spring ] Spring Cloud Alibaba Aliyun OSS 2025

文章目录 Declare PluginsIntroduce DenpendenciesOSS ApplicationOSS ConfigOSS Controller Declare Plugins pluginManagement {repositories {gradlePluginPortal()google()mavenCentral()} }dependencyResolutionManagement {repositoriesMode RepositoriesMode.PREFER_S…

C/C++ 虚函数

虚函数的定义 虚函数是指在基类内部声明的成员函数前面添加关键字 virtual 指明的函数虚函数存在的意义是为了实现多态,让派生类能够重写(override)其基类的成员函数派生类重写基类的虚函数时,可以添加 virtual 关键字,但不是必须这么做虚函…

爬虫基础之爬取某基金网站+数据分析

声明: 本案例仅供学习参考使用,任何不法的活动均与本作者无关 网站:天天基金网(1234567.com.cn) --首批独立基金销售机构-- 东方财富网旗下基金平台! 本案例所需要的模块: 1.requests 2.re(内置) 3.pandas 4.pyecharts 其他均需要 pip install 模块名 爬取步骤: …

RKNN_C++版本-YOLOV5

1.背景 为了实现低延时,所以开始看看C版本的rknn的使用,确实有不足的地方,请指正(代码借鉴了rk官方的仓库文件)。 2.基本的操作流程 1.读取模型初始化 // 设置基本信息 // 在postprocess.h文件中定义,详见…

Learning Vue 读书笔记 Chapter 2

2. Vue 基本工作原理 2.1 Virtual DOM 概念: DOM: DOM以内存中树状数据结构的形式,代表了网页上的HTML(或XML)文档内容。它充当了一个编程接口,将网页与实际的编程代码(如JavaScript)连接起来…

Python标准库 - os (1) 环境变量、进程的用户和组

文章目录 1 访问和修改环境变量1.1 访问环境变量1.2 修改环境变量 2 进程的用户和组2.1 进程的ID2.2 进程的用户2.3 进程组 os模块提供了各种操作系统接口。包括环境变量、进程管理、进程调度、文件操作等方面。 这里整理了环境变量、进程的用户和用户组相关的控制方法。 参考…

Synology 群辉NAS安装(4)docker-compose

Synology 群辉NAS安装(4)docker-compose Synology 群辉NAS安装(4)docker-composeerror while loading shared libraries: libz.so.1 Synology 群辉NAS安装(4)docker-compose 1.下载最新版docker-compose |…

【C++高并发服务器WebServer】-7:共享内存

本文目录 一、共享内存1.1 shmget函数1.2 shmat1.3 shmdt1.4 shmctl1.5 ftok1.6 共享内存和内存映射的关联1.7 小demo 二、共享内存操作命令 一、共享内存 共享内存允许两个或者多个进程共享物理内存的同一块区域(通常被称为段)。由于一个共享内存段会称…

【C语言指针】数组指针和指针数组

一、数组指针 1.1 含义 数组指针本质是一个指针,它指向一个数组也就是说它指向数组在内存中的起始地址。数组指针可以用来处理多维数组,尤其是二维数组。 1.2 数组指针的一般形式 首先数组的一般形式是: int a[10] {1,2,3,4,5};这里a代…

关于av_get_channel_layout_nb_channels函数

问题:ffmpeg5.1 使用av_get_channel_layout_nb_channels函数时报错。 过程:经过检查,发现对应头文件内已经不包含该函数。遂查找资料,发现在ffmpeg5.1之后该函数被废弃,具体而言,新增了AVChannelLayout。 …

CrypTen——基于pytorch的隐私保护机器学习框架

目录 一、CrypTen概述 二、应用场景 三、CrypTen优势 四、CrypTen技术解析 1.基于pytorch的构建基础 2.核心密码学原语 3.加密模型训练流程 五、传统隐私保护技术与CrypTen的对比 1.传统隐私保护技术介绍 2.CrypTen与传统隐私保护技术的区别 六、CrypTen的环境配置…

ES6 简单练习笔记--变量申明

一、ES5 变量定义 1.在全局作用域中 this 其实就是window对象 <script>console.log(window this) </script>输出结果: true 2.在全局作用域中用var定义一个变量其实就相当于在window上定义了一个属性 例如: var name "孙悟空" 其实就相当于执行了 win…

Arduino大师练成手册 -- 控制 PN532 NFC 模块

要在 Arduino 上控制 PN532 NFC 模块&#xff0c;你可以按照以下步骤进行&#xff1a; 硬件连接 VCC&#xff1a;连接到 Arduino 的 3.3V 引脚。 GND&#xff1a;连接到 Arduino 的 GND 引脚。 SDA&#xff1a;连接到 Arduino 的 SDA 引脚&#xff08;通常是 A4&#xff09…

.NET Core跨域

CORS 跨域通讯的问题。解决方案&#xff1a;JSONP、前端代理后端请求、CORS等。CORS原理&#xff1a;在服务器的响应报文头中通过access-control-allow-origin告诉浏览器允许跨域访问的域名。在Program.cs的“var appbuilder.Build()”这句代码之前注册 string[] urls new[] …

python——Django 框架

Django 框架 1、简介 Django 是用python语言写的开源web开发框架&#xff0c;并遵循MVC设计。 Django的**主要目的是简便、快速的开发数据库驱动的网站。**它强调代码复用&#xff0c;多个组件可以很方便的以"插件"形式服务于整个框架&#xff0c;Django有许多功能…

大模型正确调用方式

1、ollama 安装 curl -fsSL https://ollama.com/install.sh | sh 如果是AutoDl服务器&#xff0c;可以开启学术加速。 source /etc/network_turbo 本次使用腾讯云Cloud Studio&#xff0c;所以已经安装好了 Ollama 2、启动 ollama run 模型的名字 ollama serve # 开启服务 olla…

CE-PBFT:大规模联盟区块链的高可用一致性算法

摘要 区块链已广泛应用于农产品溯源、供应链管理、物流运输等各个领域。作为联盟区块链不可缺少的组成部分&#xff0c;共识算法保证了网络中每个节点的一致性和可信度。然而&#xff0c;由于通信过程的复杂性&#xff0c;现有的大规模联盟区块链场景中的共识算法存在低系统吞…

2025年新开局!谁在引领汽车AI风潮?

汽车AI革命已来。 在2025年伊始开幕的CES展上&#xff0c;AI汽车、AI座舱无疑成为了今年汽车行业的最大热点。其中不少车企在2025年CES上展示了其新一代AI座舱&#xff0c;为下一代智能汽车的人机交互、场景创新率先打样。 其中&#xff0c;东软集团也携带AI驱动、大数据支撑…