これは実践問題です。ウェブサイトのページを開くと、認証ページが表示され、ユーザー名が admin であることがわかりますので、パスワードをブルートフォースで解読する必要があります。

パケットキャプチャで Authorization 認証を発見しました。

パケットを intruder に送信し、トラバーサルポイントを設定します。

上記のトラバーサルポイントは base64 エンコードされており、デコードすると admin:123 になりますので、ペイロードも同じ形式に設定する必要があります。

ペイロードタイプを「Custom iterator」に設定します。

最初の値はユーザー名 admin です。

2 番目はコロンです。

3 番目は辞書ファイルをロードします。

ペイロード処理を追加し、上記の内容(admin:123)を base64 でエンコードします。

設定が完了したら、ブルートフォースを開始し、結果を取得します。

ユーザー名とパスワード adminを取得しました。

ユーザー名とパスワードでログインすると、キーが表示されます。

弱いパスワードでログインを試みますが、失敗しました。robots.txt にアクセスしてみると、sql ファイルが見つかりました。

sql ファイルにアクセスしてみると、admin ユーザーのアカウントとパスワードが見つかりましたが、パスワードは MD5 で暗号化されています。

MD5 を解読し、パスワード qwerty を見つけました。

ディレクトリトラバーサルを試み、他のディレクトリがあるかどうかを確認します。御剣を使用してスキャンしましたが、phpmyadmin が見つかりましたが、401 が表示されました。

認証がないため、認証を持ってディレクトリをブルートフォースするしかありません。

有用なものは見つかりませんでした。

MD5 でブルートフォースしたパスワードでログインし、成功しました。バックエンドの画面は以下のようになります。

バックエンドには画像のアップロード機能がありますので、ファイルのアップロードを試みます。
PHP ファイルを直接アップロードすると失敗します。

content-type を image/jpeg に変更すると、ファイルのアップロードに成功します。

バックエンドページに戻り、リンクをコピーします。

webshell のリンクはhttp://10.1.10.71/uploadfile/16899143312s.php です。webshell に接続し、HTTP ヘッダーと base64 認証を追加します。

base64 でエンコードします。

webshell に正常に接続しました。

コマンドを実行し、システム権限を取得します。

アカウントを追加します。

3389 を開放し、システムに組み込まれているツールを使用して開放します。

自分で作成したアカウントではキーを取得できませんので、管理者のパスワードを変更する必要があります。

キーはゴミ箱にあり、復元する必要があります。
