2018年3月20日 星期二

使用代理 + fiddler 來監看 java 的 http/https 封包 / 模擬中間人攻擊

在 Java 中進行如下 propxy 的設置,將網路請求都先經過本地端的 fiddler (這裡fiddler的port為8888),就可以在fiddler中監看 java 發出的封包

System.setProperty("http.proxyHost", "127.0.0.1");
System.setProperty("http.proxyPort", "8888");

System.setProperty("https.proxyHost", "127.0.0.1");
System.setProperty("https.proxyPort", "8888");

而此時也可以模擬中間人攻擊,因為http/https請求經過了Fiddler,可以在此情況下測試自己的防範中間人攻擊的程式

或是使用 org.apache.commons.httpclient.HttpClient 的話,用
HttpClient client = new HttpClient();
client.getHostConfiguration().setProxy("127.0.0.1", 8888);


在 Fiddler Scripit 裡的
static function OnBeforeRequest(oSession: Session) { }
裡寫
if(oSession.HostnameIs("xxx.com") && oSession.isHTTPS){
            oSession.oRequest.headers.UriScheme = "http";
            oSession.hostname="127.0.0.1";
}

可以把 xxx.com 的 HTTPS request 轉向導到 127.0.0.1 HTTP request

其他例子:
if(oSession.host == "forum.cyberlink.com"){
            oSession.oRequest.headers.UriScheme = "http";
            oSession.host="127.0.0.1:8081";
}


沒有留言 :

張貼留言