BurpSuiteのExtension「HTTP Request Smuggler」の使い方

HTTPリクエストスマグリングの脆弱性を確認する際に、BurpSuiteのExtention「HTTP Request Smuggler」を使ったので、使用方法の備忘録です。
 
 

HTTP Request Smugglerの概要と導入方法

HTTP Request Smugglerは「HTTPリクエストスマグリング」という脆弱性を検査する際に便利な機能が含まれるBurpSuiteのExtenstionです。
HTTPリクエストスマグリングの詳細はこちらのページで解説しています。
 
BurpSuiteの開発元であるPortSwigger社が提供しているため、信頼性もあり有名なExtensionです。
使い方やソースコードはGitHubレポジトリより確認できます。
 
インストールはBurpSuiteを起動し、「Extensions」タブの「BApp Store」からインストールできます。
 

HTTP Request Smugglerの使い方

具体的に検証用LAB「HTTP request smuggling, basic CL.TE vulnerability」への攻撃例を用いてこのExtensionの使い方を説明します。
 

スキャンの実行

「proxy」タブで通信で右クリックし、「Launch smuggle probe」を選択することで、自動スキャンが開始します。「Logger」タブから通信を確認することができます。
 
有料版のBurpSuiteを利用している場合は、「Dashboard」タブより検出した脆弱性の情報を確認することができます。
 

任意の攻撃値を指定して送信する方法

スキャンで脆弱性を検出した以下の通信をベースに、任意の文字列を後続通信に付与し、CL:TE型のHTTPリクエストスマグリングを実行する方法を確認していきます。
 
ベースとしたいリクエスト内で右クリックし、「Smuggle attack(CL:TE)」を選択します。
 
以下のソースコードが表示されます。変数「prefix」に後続通信に付与する文字列を指定し、「Attack」ボタンをクリックして通信を開始します。
 
Row「0」の通信で、上記で指定した文字列を使ってHTTPリクエストスマグリングのペイロードが送信されます。
 
Row「3」の通信で、上記のペイロードが先頭に付与されたリクエストが処理され、レスポンスでログインページが返されていることを確認できました。