当前位置: 首页 > news >正文

组件框架漏洞

一.基础概念

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综合漏洞利用工具

    • ​​

相关文章:

组件框架漏洞

一.基础概念 1.组件 定义:组件是软件开发中具有特定功能或特性的可重用部件或模块,能独立使用或集成到更大系统。 类型 前端 UI 组件:像按钮、下拉菜单、导航栏等,负责构建用户界面,提升用户交互体验。例如在电商 AP…...

OFDM系统仿真

1️⃣ OFDM的原理 1.1 介绍 OFDM是一种多载波调制技术,将输入数据分配到多个子载波上,每个子载波上可以独立使用 QAM、PSK 等传统调制技术进行调制。这些子载波之间互相正交,从而可以有效利用频谱并减少干扰。 1.2 OFDM的核心 多载波调制…...

基于单片机的盲人智能水杯系统(论文+源码)

1 总体方案设计 本次基于单片机的盲人智能水杯设计,采用的是DS18B20实现杯中水温的检测,采用HX711及应力片实现杯中水里的检测,采用DS1302实现时钟计时功能,采用TTS语音模块实现语音播报的功能,并结合STC89C52单片机作…...

安心即美的生活方式

如果你的心是安定的,那么,外界也就安静了。就像陶渊明说的:心远地自偏。不是走到偏远无人的边荒才能得到片刻清净,不需要使用洪荒之力去挣脱生活的枷锁,这是陶渊明式的中国知识分子的雅量。如果你自己是好的男人或女人…...

安卓(android)订餐菜单【Android移动开发基础案例教程(第2版)黑马程序员】

一、实验目的(如果代码有错漏,可查看源码) 1.掌握Activity生命周的每个方法。 2.掌握Activity的创建、配置、启动和关闭。 3.掌握Intent和IntentFilter的使用。 4.掌握Activity之间的跳转方式、任务栈和四种启动模式。 5.掌握在Activity中添加…...

【cocos creator】【模拟经营】餐厅经营demo

下载:【cocos creator】模拟经营餐厅经营...

前端 | 深入理解Promise

1. 引言 JavaScript 是一种单线程语言,这意味着它一次仅能执行一个任务。为了处理异步操作,JavaScript 提供了回调函数,但是随着项目处理并发任务的增加,回调地狱 (Callback Hell) 使异步代码很难维护。为此,ES6带来了…...

Visual Studio Code修改terminal字体

个人博客地址:Visual Studio Code修改terminal字体 | 一张假钞的真实世界 默认打开中断后字体显示如下: 打开设置,搜索配置项terminal.integrated.fontFamily,修改配置为monospace。修改后效果如下:...

自然语言处理-词嵌入 (Word Embeddings)

人工智能例子汇总:AI常见的算法和例子-CSDN博客 词嵌入(Word Embedding)是一种将单词或短语映射到高维向量空间的技术,使其能够以数学方式表示单词之间的关系。词嵌入能够捕捉语义信息,使得相似的词在向量空间中具有…...

自定义数据集 使用pytorch框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测,对预测结果计算精确度和召回率及F1分数

import numpy as np import torch import torch.nn as nn import torch.optim as optim from sklearn.metrics import precision_score, recall_score, f1_score# 数据准备 class1_points np.array([[1.9, 1.2],[1.5, 2.1],[1.9, 0.5],[1.5, 0.9],[0.9, 1.2],[1.1, 1.7],[1.4,…...

【论文笔记】Fast3R:前向并行muti-view重建方法

众所周知,DUSt3R只适合做稀疏视角重建,与sapnn3r的目的类似,这篇文章以并行的方法,扩展了DUSt3R在多视图重建中的能力。 abstract 多视角三维重建仍然是计算机视觉领域的核心挑战,尤其是在需要跨不同视角实现精确且可…...

谈谈你所了解的AR技术吧!

深入探讨 AR 技术的原理与应用 在科技飞速发展的今天,AR(增强现实)技术已经悄然改变了我们与周围世界互动的方式。你是否曾想象过如何能够通过手机屏幕与虚拟物体进行实时互动?在这篇文章中,我们将深入探讨AR技术的原…...

upload labs靶场

upload labs靶场 注意:本人关卡后面似乎相比正常的关卡少了一关,所以每次关卡名字都是1才可以和正常关卡在同一关 一.个人信息 个人名称:张嘉玮 二.解题情况 三.解题过程 题目:up load labs靶场 pass 1前后端 思路及解题:…...

搜索引擎友好:设计快速收录的网站架构

本文来自:百万收录网 原文链接:https://www.baiwanshoulu.com/14.html 为了设计一个搜索引擎友好的网站架构,以实现快速收录,可以从以下几个方面入手: 一、清晰的目录结构与层级 合理划分内容:目录结构应…...

基于 oneM2M 标准的空气质量监测系统的互操作性

论文标题 英文标题: Interoperability of Air Quality Monitoring Systems through the oneM2M Standard 中文标题: 基于 oneM2M 标准的空气质量监测系统的互操作性 作者信息 Jonnar Danielle Diosana, Gabriel Angelo Limlingan, Danielle Bryan Sor…...

春晚舞台上的人形机器人:科技与文化的奇妙融合

文章目录 人形机器人Unitree H1的“硬核”实力传统文化与现代科技的创新融合网友热议与文化共鸣未来展望:科技与文化的更多可能结语 2025 年央视春晚的舞台,无疑是全球华人目光聚焦的焦点。就在这个盛大的舞台上,一场名为《秧BOT》的创意融合…...

零基础学习书生.浦语大模型-入门岛

第一关:Linux基础知识 Cursor连接服务器 使用Remote - SSH插件即可 注:46561:服务器端口号 运行指令 python hello_world.py端口映射 ssh -p 46561 rootssh.intern-ai.org.cn -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyCheckingno …...

Gurobi基础语法之 addConstr, addConstrs, addQConstr, addMQConstr

在新版本的 Gurobi 中,向 addConstr 这个方法中传入一个 TempConstr 对象,在模型中就会根据这个对象生成一个约束。更重要的是:TempConstr 对象可以传给所有addConstr系列方法,所以下面先介绍 TempConstr 对象 TempConstr TempC…...

数据结构---图的遍历

图的遍历(Travering Graph):从图的某一顶点出发,访遍图中的其余顶点,且每个顶点仅被访问一次,图的遍历算法是各种图的操作的基础。 复杂性:图的任意顶点可能和其余的顶点相邻接,可能在访问了某个顶点后,沿某条路径搜索…...

Qwen 模型自动构建知识图谱,生成病例 + 评价指标优化策略

关于数据库和检索方式的选择 AI Medical Consultant for Visual Question Answering (VQA) 系统:更适合在前端使用向量数据库(如FAISS)结合关系型数据库来实现图像和文本的检索与存储。因为在 VQA 场景中,你需要对患者上传的图像或…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中&#xff0…...

「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案

在移动互联网营销竞争白热化的当下,推客小程序系统凭借其裂变传播、精准营销等特性,成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径,助力开发者打造具有市场竞争力的营销工具。​ 一、系统核心功能架构&…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...

rknn toolkit2搭建和推理

安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 ,不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源(最常用) conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...

java高级——高阶函数、如何定义一个函数式接口类似stream流的filter

java高级——高阶函数、stream流 前情提要文章介绍一、函数伊始1.1 合格的函数1.2 有形的函数2. 函数对象2.1 函数对象——行为参数化2.2 函数对象——延迟执行 二、 函数编程语法1. 函数对象表现形式1.1 Lambda表达式1.2 方法引用(Math::max) 2 函数接口…...