online-python-editor
用ast库来解析传的json,flag在同目录的secret.py里
默认传参是只传source
而ast.parse接收filename参数
尝试将filename设为/etc/passwd
发现成功读到line2的内容
接下来读secret.py
将错误行数设为第六行,成功读到flag
zstego
docx 只是美化的压缩文件,可以被解压
正常上传一个docx,回显No hidden messages found
说明没有提取到$message
$message是对/word/media目录下的文件进行zlib解压提取得到的
有一个media目录的open_basedir
zlib_decode可以用伪协议来操作
php://filter/zlib.deflate/resource=
该伪协议将读取文件内容并使用 zlib 压缩,然后返回数据
open_basedir用软链接来绕,将media目录链接到根目录
ln -s / media
在word/_rels/document.xml.rels里加上
<Relationship Id="rId4"
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"
Target="media/php://filter/zlib.deflate/resource=flag.txt" />
再打包成docx
zip -r --symlinks payload.docx *
成功读到/flag.txt