[极客大挑战 2019]Knife
一、题目简介
二、思路分析
1)一句话木马
2)代码执行
三、解题步骤
1)目录遍历
2)查看文件内容
四、总结
一、题目简介
页面中的文字提示我们使用「菜刀」连接后门,什么!你没有菜刀?恭喜你,你来对地方了,网上大部分的答案都是直接上菜刀连后门,实际上不使用菜刀也能拿到 flag
二、思路分析
这一关是「代码执行」漏洞,推荐使用 var_dump() + scandir() + file_get_contents() 读取文件内容
1)一句话木马
根据页面中的文字提示可知,作者为我们准备好了「一句话木马」,并委婉的提示,使用「菜刀」连接
一句话木马本质上是利用了「代码执行」函数,将 post 请求的参数传递到 eval() 中执行,我们完全可以修改 post 请求的参数来执行代码
2)代码执行
使用工具(此处使用 Max HacKBar)修改 post 请求的「参数」,payload如下
Syc=phpinfo(); • 1
代码成功执行,页面展示了PHP的信息
这里没有进行过滤,可以「执行任意代码」,读取 flag.php 文件即可获取flag
三、解题步骤
1)目录遍历
使用 var_dump() + scandir() 查看根目录下的所有文件,payload如下
Syc=var_dump(scandir('/'));
页面的背景颜色会遮盖代码执行的结果,提交请求后,右键查看「页面源代码」,获取代码的执行结果
CTF中有个不成文的「规矩」,如果有一个文件名为 flag*,那 flag 大概率就在这个文件里面
2)查看文件内容
使用 var_dump() + file_get_contents() 查看文件内容,payload如下
Syc=var_dump(file_get_contents('/flag'));
提交请求后,右键查看「页面源代码」,flag 就在里面
四、总结
喜欢一个东西首先要先学会「尊重」,虽然网络安全的圈子不乏各种灰产,以及高调宣传自己是黑客的脚本小子,但不可否认,这个圈子仍有不少人保持着「举世皆浊我独清,众人皆醉我独醒」的心态,努力磨砺技术,提升自身修养,让互联网变得更加安全