我正在使用Java中的漏洞掃描程序來檢查允許使用弱密碼套件進行連接的網站。例如,我會嘗試使用56位「SSL_DHE_RSA_WITH_DES_CBC_SHA」(或其他弱密碼)進行連接,如果我說200 OK,則該網站很脆弱。這是我到目前爲止的地方:使用弱密碼連接Java HttpURLConnection
1- HttpURLConnection始終使用默認密碼,但如果我嘗試使用「System.setProperty()設置弱密碼,我會得到」密碼不支持異常(對於大多數密碼套件)或「連接被拒絕」異常,當我嘗試connect()時。我知道連接被拒絕是我對不接受弱密碼的網站的回答,但是如何獲得實際的http響應頭(帶有拒絕代碼)而不是異常?我實際上對找到SSL級別(第6層)上的漏洞不感興趣,而是在HTTP級別(第7層)找到漏洞,並且我知道http標頭在某些情況下可能具有欺騙性,但我確定這一點。
總之,我需要這樣的事情只有弱密碼套件的工作:
URL url = new URL(ip);
HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
con.setHostnameVerifier(new HostnameVerifier() {
public boolean verify(String hostname, SSLSession session) {
return true;
}
});
con.connect();
System.out.println("Response Code : " + con.getResponseCode());
EJP ...感謝您的意見。我想你錯過了我的觀點。 SSL層存在SSL漏洞......但是......有些案例(我見過其中許多案例)在App Layer上得到補償。例如,如果您要運行漏洞掃描程序(如Nussus)。它會回來並用脆弱的密碼報告該網站(在點擊SSL層後)......但是......當您嘗試連接它時(比方說,通過只啓用弱密碼套件的瀏覽器),您將獲得一個響應如「HTTP錯誤403.5 - 禁止:SSL 128需要查看此資源」。 – sys147 2011-02-24 14:32:08
..另外,成功協商SSL連接並不能保證連接作爲一個整體成功。 – sys147 2011-02-24 14:43:09
@ sys146:所以您需要查看響應代碼及其文本。我建議你將所有缺少的信息添加到你的問題。 – EJP 2011-02-24 22:33:01