baby python | Zip 符号链接漏洞
访问目标 URL,页面标题是 "Baby Python",是一个 Flask 应用。
关键信息:Session Cookie:session=eyJ1c2VybmFtZSI6Imd1ZXN0In0... — 解码后是 {"username":"guest"}
页面提示:JavaScript 打字机效果输出 'I will tell you a secret, but you should become admin first.' — 暗示需要变成 admin 才能获取 secret尝试把guest换成admin -- 失败
有文件上传,传一句话木马试试
提示传zip文件
关键突破 — Zip 中的符号链接攻击
Python 的 zipfile 模块支持在 zip 中存储符号链接(symlink)。当服务器使用extractall() 解压时,会创建符号链接,随后读取文件内容时会跟随符号链接读取目标文件
创建符号链接 env,它指向 /proc/1/environ。/proc/1/environ 通常是 PID 1 进程的环境变量文件
ln -s /proc/1/environ env
查看 env 的详细信息,可能显示:
压缩为zip文件
在文件上传入口上传zip文件
上传成功,成功访问/proc/1/environ得到flag