本题知识点
- 任意文件上传配合cookie读取文件
打开页面是一个登入界面
随便输个用户名密码都可以直接登入
有个upload点击
这里存在一个任意文件上传但是不解析,发现这里还setcookie了
解码后大概看出来存储了账号密码+上传的文件路径
然后来到show查看一下头像,base64显示
那么这里猜测是通过cookie得到文件路径然后打开,然后转为base64输出,猜测此处路径为
/var/www/html/uploads/4e5b09b2149f7619cca155c8bd6d8ee5/June.jpg
那么我们../跳5层即可到根目录,上传一个文件名为../../../../../etc/passwd的文件然后保存cookie
那么我们要重新下发容器,因为此处的的文件已经被我们上传的文件覆盖了
但是重新下发容器然后直接去查看头像还是会显示不存在,需要随便在上传一张图片然后在替换cookie
访问页面查看源码
解码,成功读取到passwd文件
读取flag也是也一样的
然后保存cookie
Q/+BAwEBBVVzZXJzAf+CAAEEAQhVc2VybmFtZQEMAAEIUGFzc3dvcmQBDAABCEZpbGVuYW1lAQwAAQRTaWduAQwAAABy/4IBBUp1bm5lAQRKdW5lAT4uL3VwbG9hZHMvNGU1YjA5YjIxNDlmNzYxOWNjYTE1NWM4YmQ2ZDhlZTUvLi4vLi4vLi4vLi4vLi4vZmxhZwEgMzVlYjc2ZmM4YmQyZGEzZWY2MjE5NmU5MjU3MjhlN2MA
重新启动容器-->随便上传一张头像-->查看头像-->替换cookie-->解码得到flag