Hostヘッダーを改ざんする
Fiddlerはブラウザから送信されたHTTPリクエストを途中で補足し、内容を改ざんしてサーバーに送信することができます。
しかしながら、HTTPリクエストのどの箇所でも改ざんできるわけではありません。
また、改ざんするために工夫が必要な箇所もあります。
Hostヘッダーを改ざんしたHTTPリクエストを送信するには、ちょっとした工夫が必要になります。
以下はその手順です。
- メニューからRules->Customize Rules...を選択し、CustomRules.jsファイルをエディタで開きます。
![1.png](http://hagurese.net/blog/File.aspx?key=cbcb6380-44e7-4a1e-bc1a-c53f892e8d0b&=x200&y=200)
- Handlerクラスの中に以下のコードを追加します。
static var tamperHost:String = "";
![2.png](http://hagurese.net/blog/File.aspx?key=bf5cab92-1a77-4f98-b055-fba8ebe91767&=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=ef71b092-deec-4f65-9169-a76079e1b5f3&=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=25bead09-a2d4-498e-ad03-2ca8ff56bbe7&=x200&y=200)
- ファイルを保存してエディタを終了します。
- QuickExecコマンド(セッション一覧の下の黒いテキスト入力)にて、thost tamperhost.domain[Enter]と打ち込みます。([Enter]はEnterキーです。)
![5.png](http://hagurese.net/blog/File.aspx?key=ab99792c-83d0-48b4-b4e3-7f6cc5140ae5&=x200&y=200)
- 以降のリクエストのHostヘッダーはtamperhost.domainに改ざんされます。
![6.png](http://hagurese.net/blog/File.aspx?key=080c8d35-00e7-4a31-8d86-62521be9660e&=x200&y=200)
- 元に戻すにはQuickExecコマンドにて、thost[Enter]と打ち込みます。([Enter]はEnterキーです。)
![7.png](http://hagurese.net/blog/File.aspx?key=5f24cc64-420d-418d-aeef-58eb8b2f211f&=x200&y=200)
なお、何のためにHostヘッダーを改ざんするのか分かっている方だけお使いください。
くれぐれも悪用厳禁!!でお願いします。
(2012/10/27)
何気なくCustomRules.jsを眺めていたら、QuickExecコマンドの中にoverridehostがあるのを見つけてしまいました。
デフォルトで用意されていたのですね…orz