Hostヘッダーを改ざんする
Fiddlerはブラウザから送信されたHTTPリクエストを途中で補足し、内容を改ざんしてサーバーに送信することができます。
しかしながら、HTTPリクエストのどの箇所でも改ざんできるわけではありません。
また、改ざんするために工夫が必要な箇所もあります。
Hostヘッダーを改ざんしたHTTPリクエストを送信するには、ちょっとした工夫が必要になります。
以下はその手順です。
- メニューからRules->Customize Rules...を選択し、CustomRules.jsファイルをエディタで開きます。
![1.png](http://www.hagurese.net/blog/File.aspx?key=3ac9acd7-9376-4566-8d31-0cbddc893910&=x200&y=200)
- Handlerクラスの中に以下のコードを追加します。
static var tamperHost:String = "";
![2.png](http://www.hagurese.net/blog/File.aspx?key=fbc02f76-cdcd-42d9-bd73-b609e86e0548&=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://www.hagurese.net/blog/File.aspx?key=b9ebd47c-3ce1-4770-b1d1-bbdd59861b0e&=x200&y=200)
- OnExecActionメソッド中のswitch構文の中に以下のコードを追加します。
case "thost":
if(sParams.Length > 1){
tamperHost = sParams[1];
}else{
tamperHost = "";
}
break;
![4.png](http://www.hagurese.net/blog/File.aspx?key=45886681-0790-4d19-941a-f3fb9cfcd71f&=x200&y=200)
- ファイルを保存してエディタを終了します。
- QuickExecコマンド(セッション一覧の下の黒いテキスト入力)にて、thost tamperhost.domain[Enter]と打ち込みます。([Enter]はEnterキーです。)
![5.png](http://www.hagurese.net/blog/File.aspx?key=b573aaa3-330a-4092-bdfb-e35b8e4ad074&=x200&y=200)
- 以降のリクエストのHostヘッダーはtamperhost.domainに改ざんされます。
![6.png](http://www.hagurese.net/blog/File.aspx?key=e6ccf98e-9bf9-4425-8231-2f047e78b81b&=x200&y=200)
- 元に戻すにはQuickExecコマンドにて、thost[Enter]と打ち込みます。([Enter]はEnterキーです。)
![7.png](http://www.hagurese.net/blog/File.aspx?key=257dcca3-1f02-4f02-89be-527c603b5600&=x200&y=200)
なお、何のためにHostヘッダーを改ざんするのか分かっている方だけお使いください。
くれぐれも悪用厳禁!!でお願いします。
(2012/10/27)
何気なくCustomRules.jsを眺めていたら、QuickExecコマンドの中にoverridehostがあるのを見つけてしまいました。
デフォルトで用意されていたのですね…orz