babypython[国赛总决赛复现]
是个上传界面,经测试只能上传zip文件
看到页面提示,猜测只有admin才能得到flag,需要伪造session,伪造session要用到一个工具-flask-unsign
所以这道题关键是需要找到key.
可以上传zip文件,同时后台自动解压的情况下,从而实现任意文件读取。
软连接导致任意文件读取
我们可以压缩一个软链接,类似于windows下的快捷方式,然后网站后台会解压读取该软链接指向的服务器上的文件,就能达到读取任意文件的效果。
ln -s /etc/passwd passwd
zip -y passwd.zip passwd
生成了一个读取**/etc/passwd的zip软链接
再读取下环境变量/proc/self/environ**
同样执行上面两行命令,改下要读取的目录
这里读不到,会显示bad然后跳转到?er