“百度杯”CTF比赛 十二月场Blog

这个题好难了,然后看着dalao的方式做了一遍,收货甚多....

正常套路,先注册

然后登陆进去后有一个post编辑版,上传一个一句话木马图片,然后显示这样
“百度杯”CTF比赛 十二月场Blog_第1张图片
image.png

可以看到路径为/kindeditor/php/upload_json.php

应该说这个编辑版就是kindeditor,搜索一波kindeditor的漏洞,在github上可以直接下载源码,php文件一般就是php代码
从php文件的file_manager_json.php文件中可以看到这里有一个变量path可以用来访问目录,同时可以搜索kindeditor的漏洞

详情可以参考这篇文章:https://yq.aliyun.com/ziliao/8593
直接漏洞利用,访问:/kindeditor/php/file_manager_json.php?path=/

image.png

直接就可以看到目录,不过没什么有用的东西
在常识看上一级目录
“百度杯”CTF比赛 十二月场Blog_第2张图片
image.png

然后直接访问flag.php
“百度杯”CTF比赛 十二月场Blog_第3张图片
image.png

可以看到flag就在这个文件中,但是没有显示全。
所以就要尝试某一个方法把文件读出来
各种方法试了老半天,结果没有成功

后来看dalao的wp才知道,这道题居然是注入,而且注入在留言板上,还是自己太年轻,反正我是打死也不会想到的 。
“百度杯”CTF比赛 十二月场Blog_第4张图片
image.png

“百度杯”CTF比赛 十二月场Blog_第5张图片
image.png

可以看到两次显示的不同,说明这里有注入

然后就需要考虑这里是哪种注入,这里会将详细写到数据库中,在显示出来,不难判断出这里是insert into注入,然后就需要考虑如何进行注入了,经过不断的测试发现
“百度杯”CTF比赛 十二月场Blog_第6张图片
image.png

这样可以进行注入,但是第三个参数不会显示出来,然后又陷入了无穷的玄学之中。

最后看dalao的wp才发现,这道题居然需要创建insert into多条记录,来求其中的内容,长见识了,万年也想不到。
“百度杯”CTF比赛 十二月场Blog_第7张图片
image.png

然后在回显的地方就能看到输的东西

“百度杯”CTF比赛 十二月场Blog_第8张图片
image.png

然后就可以拿到管理员密码,用户名admin登陆进去然后再在manager界面读取flag.php,用 php://fileter读,就可以拿到flag。

你可能感兴趣的:(“百度杯”CTF比赛 十二月场Blog)