ファイルのアップロード
インターフェース
ソースコード
<?php
if( isset( $_POST[ 'Upload' ] ) ) {
// Where are we going to be writing to?
$target_path = DVWA_WEB_PAGE_TO_ROOT . "hackable/uploads/";
$target_path .= basename( $_FILES[ 'uploaded' ][ 'name' ] );
// Can we move the file to the upload folder?
if( !move_uploaded_file( $_FILES[ 'uploaded' ][ 'tmp_name' ], $target_path ) ) {
// No
echo '<pre>Your image was not uploaded.</pre>';
}
else {
// Yes!
echo "<pre>{
$target_path} succesfully uploaded!</pre>";
}
}
?>
コード分析
ユーザーがアップロードボタンをクリックすると、サーバーは選択したファイルをサーバーにアップロードし、「... / ... / hackable / uploads / file name successuploads!」と出力します。画像を送信する必要がありますが、コードはアップロードされたファイルをレビューせず、任意のファイルタイプを送信できることがわかります。トロイの木馬の文章をアップロードし、中国の包丁またはアリの剣を使用してウェブシェルを取得する
浸透ステップ
ステップ1:1文のトロイの木馬を作成し、1文のトロイの木馬をDVWAにアップロードします。
ステップ2:中国の包丁を使用して接続し、DVWAに正常に接続して、ウェブシェルを取得します
発生した問題
1. 1文のトロイの木馬は正常にアップロードされましたが、チョッパーを接続できませんでした。
解決策1:PHP7を使用できます。PHP7をPHP5に変更するだけです。
解決策2:PHPのバージョンを変更せず、AntSwordを使用して1文のトロイの木馬を接続します