我正在使用 Java 中的漏洞扫描程序来检查允许使用弱密码套件进行连接的网站。因此,例如,我会尝试使用 56 位“SSL_DHE_RSA_WITH_DES_CBC_SHA”(或其他弱密码)进行连接,如果我得到 200 OK,则该网站很容易受到攻击。这是我到目前为止的位置:
1- HttpURLConnection 在默认密码下一直运行良好,但如果我尝试使用“System.setProperty() 设置弱密码,我会得到“密码不支持异常(对于大多数密码套件)或“连接被拒绝”当我尝试连接()时出现异常。我知道连接被拒绝是我对不接受弱密码的网站的回答,但是如何获得实际的 http 响应标头(带有拒绝代码)而不是异常?
2-我实际上对在 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());