2011-02-23 79 views
0

我正在使用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()); 

回答

2

我怎麼實際的HTTP效應初探 頭部(拒收代碼),而不是異常的 ?

你不知道。 SSL連接沒有形成,因此沒有任何HTTP頭可以被傳輸。你得到的是SSLException。

我其實在 不感興趣的SSL級別 (6層)上,而在HTTP水平

這種說法沒有任何意義發現漏洞。該漏洞存在於SSL級別。有在SSL連接完成之前,沒有HTTP(s)級連接,而是失敗。

+0

EJP ...感謝您的意見。我想你錯過了我的觀點。 SSL層存在SSL漏洞......但是......有些案例(我見過其中許多案例)在App Layer上得到補償。例如,如果您要運行漏洞掃描程序(如Nussus)。它會回來並用脆弱的密碼報告該網站(在點擊SSL層後)......但是......當您嘗試連接它時(比方說,通過只啓用弱密碼套件的瀏覽器),您將獲得一個響應如「HTTP錯誤403.5 - 禁止:SSL 128需要查看此資源」。 – sys147 2011-02-24 14:32:08

+0

..另外,成功協商SSL連接並不能保證連接作爲一個整體成功。 – sys147 2011-02-24 14:43:09

+0

@ sys146:所以您需要查看響應代碼及其文本。我建議你將所有缺少的信息添加到你的問題。 – EJP 2011-02-24 22:33:01