Hostヘッダーを改ざんする
Fiddlerはブラウザから送信されたHTTPリクエストを途中で補足し、内容を改ざんしてサーバーに送信することができます。
しかしながら、HTTPリクエストのどの箇所でも改ざんできるわけではありません。
また、改ざんするために工夫が必要な箇所もあります。
Hostヘッダーを改ざんしたHTTPリクエストを送信するには、ちょっとした工夫が必要になります。
以下はその手順です。
- メニューからRules->Customize Rules...を選択し、CustomRules.jsファイルをエディタで開きます。
![1.png](http://hagurese.net/blog/File.aspx?key=00c8b0ab-5733-46b0-964a-864cc0bae185&=x200&y=200)
- Handlerクラスの中に以下のコードを追加します。
static var tamperHost:String = "";
![2.png](http://hagurese.net/blog/File.aspx?key=8c5ae437-2195-46ea-a6b3-3bb8d342d02a&=x200&y=200)
- OnBeforeRequestメソッドの中に以下のコードを追加します。
if(tamperHost != ""){
oSession["x-overridehost"] = oSession.oRequest.host;
oSession.oRequest.headers.Remove("Host");
oSession.oRequest.headers.Add("Host",tamperHost);
}
![3.png](http://hagurese.net/blog/File.aspx?key=26771a85-589f-486f-9950-289285cd928b&=x200&y=200)
- OnExecActionメソッド中のswitch構文の中に以下のコードを追加します。
case "thost":
if(sParams.Length > 1){
tamperHost = sParams[1];
}else{
tamperHost = "";
}
break;
![4.png](http://hagurese.net/blog/File.aspx?key=157a9a58-fe95-4583-9b32-7a27d0e57dfc&=x200&y=200)
- ファイルを保存してエディタを終了します。
- QuickExecコマンド(セッション一覧の下の黒いテキスト入力)にて、thost tamperhost.domain[Enter]と打ち込みます。([Enter]はEnterキーです。)
![5.png](http://hagurese.net/blog/File.aspx?key=9a554f53-f372-4d5d-bdf4-23255a3f3dc8&=x200&y=200)
- 以降のリクエストのHostヘッダーはtamperhost.domainに改ざんされます。
![6.png](http://hagurese.net/blog/File.aspx?key=dbc0cc18-9695-44c7-8438-ed45e5c68863&=x200&y=200)
- 元に戻すにはQuickExecコマンドにて、thost[Enter]と打ち込みます。([Enter]はEnterキーです。)
![7.png](http://hagurese.net/blog/File.aspx?key=24ac634f-dd8f-4bec-94f5-5ab578b1e328&=x200&y=200)
なお、何のためにHostヘッダーを改ざんするのか分かっている方だけお使いください。
くれぐれも悪用厳禁!!でお願いします。
(2012/10/27)
何気なくCustomRules.jsを眺めていたら、QuickExecコマンドの中にoverridehostがあるのを見つけてしまいました。
デフォルトで用意されていたのですね…orz