easy_eval
大小写绕过类名,然后绕过
__wakeup
。exp
修改后Payload,直接Getshell。
查看phpinfo发现不但有disable_function,还有open_basedir。


但是这样的配置导致
/tmp
目录不起作用,蚁剑连接shell,发现有个.config.php.swp
文件。其中保存了数据库以及redis的账号密码。

使用redis主从复制,直接可以执行命令。
工具地址:
https://github.com/Dliv3/redis-rogue-server
开启被动连接模式

redis虚拟命令行中建立从机关系,在此之前,需要将下载的
exp.so
上传到靶机的/tmp
目录下。然后执行以下命令:

jackson
Jackson反序列化,利用
/;/json
绕过。使用工具生成JNDI链接,让靶机将他根目录下的flag使用curl外带出来,发送到服务器使用nc监听的7788端口。

利用SpringBoot那条利用链
Payload

此时再看服务端监听的端口请求,发现flag。

- Author:Linuz
- URL:https://linuz.me/article/2021-TYBCTF-Web-Writeup
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts