はじめに
Burp Suite は、Web アプリケーションのセキュリティテストに不可欠なツールキットです。その中でも最も汎用性の高いツールの 1 つが Burp Decoder です。Decoder を使用すると、データをある形式から別の形式に変換できます。このプロセスはエンコーディングおよびデコーディングとして知られています。これは、Base64、URL、HTML など、難読化されたり特定の形式で送信されたりするデータを扱う際に非常に重要です。
この実験 (lab) では、Burp Decoder を実際に使用する体験をします。エンコードされたデータの一部を取得し、元の形式にデコードし、変更を加えてから、再度エンコードする方法を学びます。この基本的なスキルは、セキュリティ専門家が Web アプリケーション内のデータを分析および操作するために日常的に使用しています。
Base64 エンコードされた文字列をクリップボードにコピーする
このステップでは、まずサンプルとなる Base64 エンコードされた文字列をコピーすることから始めます。プロジェクトディレクトリにこの文字列を含むファイルを用意しました。
まず、デスクトップのアプリケーションメニューからターミナルを開きます。
次に、cat コマンドを使用してファイル base64_string.txt の内容を表示します。
cat ~/project/base64_string.txt
以下のような出力が表示されるはずです。
TGFiRXggcm9ja3Mh
次に、マウスを使用して文字列 TGFiRXggcm9ja3Mh をハイライトし、クリップボードにコピーします(通常は右クリックして「コピー」を選択するか、Ctrl+Shift+C ショートカットを使用します)。
文字列を Burp Decoder ウィンドウに貼り付ける
このステップでは、Burp Suite を起動し、コピーした文字列を Decoder ツールに貼り付けます。
まず、Burp Suite を見つけて起動します。通常、アプリケーションメニューの「Web」や「Security」などのカテゴリの下に見つけることができます。
Burp Suite が起動すると、スプラッシュスクリーンが表示されます。「Temporary project」を選択し、「Next」をクリックします。次の画面で「Use Burp defaults」を選択し、「Start Burp」をクリックします。
メインの Burp Suite ウィンドウが開いたら、「Decoder」タブに移動します。「Proxy」、「Intruder」などの最上位タブの中にあります。
Decoder のインターフェースには、上部に大きなテキストペインがあります。このペイン内をクリックし、前のステップでコピーした Base64 文字列を貼り付けます(Ctrl+V または右クリックして「Paste」を使用します)。ウィンドウは、貼り付けたテキストが上部のセクションに表示された状態になります。
「Decode as...」ドロップダウンを使用して「Base64」を選択する
エンコードされたデータを Decoder に入力したので、次のステップはデコードすることです。Burp Decoder は、多くの一般的なエンコードおよびハッシュ形式をサポートしています。
ウィンドウの右側には、一連のボタンが表示されます。「Decode as...」ドロップダウンメニューをクリックします。
デコードオプションのリストが表示されます。このリストから「Base64」を選択します。
瞬時に、デコードされたテキストが下の出力ペインに表示されます。元の読み取り可能な文字列が表示されるはずです。
LabEx rocks!
これにより、基本的なデコード機能が実証されました。Base64 文字列を元のテキスト形式に正常に変換しました。
デコードされたテキストを変更する
このステップでは、Burp Decoder 内で直接デコードされたテキストを変更します。これは、データを再エンコードする前にリアルタイムで操作できる強力な機能です。
「LabEx rocks!」が表示されている出力ペインは編集可能なフィールドです。このペイン内をクリックしてテキストを変更します。この実験では、「Burp is cool!」に変更しましょう。
入力すると、上のペイン(生の元のデータ)の表現がリアルタイムで変化することに気づくでしょう。これにより、変更の効果がライブで確認できます。
「Encode as...」ドロップダウンを使用してテキストを再エンコードする
最後に、変更したテキストを Base64 形式に再エンコードします。これで、データのデコード、変更、エンコードのサイクルが完了します。
変更したテキスト Burp is cool! がまだ出力ペインにある状態で、再度右側のボタンを確認します。「Encode as...」ドロップダウンメニューをクリックします。
エンコードオプションのリストから「Base64」を選択します。
上のペインのテキストは、変更された文字列の新しい Base64 表現に更新されます。以下のようになるはずです。
QnVycCBpcyBjb29sIQ==
これで、元の文字列を取得し、デコードし、内容を変更し、Base64 に再エンコードすることに成功しました。これは、認証バイパスやパラメータ改ざんなどの脆弱性をテストする際の一般的なワークフローです。
まとめ
おめでとうございます!Burp Decoder の使用に関するこの実験を無事に完了しました。
この実験では、以下の方法を学びました。
- Burp Decoder にデータを貼り付ける方法。
- Base64 からプレーンテキストにデータをデコードする方法。
- デコードされたプレーンテキストデータをインターフェースで直接変更する方法。
- 変更されたデータを Base64 形式に再エンコードする方法。
これは、クライアントとサーバー間で交換されるデータを迅速に分析および操作できるため、あらゆるウェブセキュリティテスターにとって基本的なスキルです。Decoder をマスターすることで、ペネトレーションテスト中のワークフローが大幅にスピードアップします。
