我正在使用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());发布于 2011-02-24 01:33:52
如何获得实际的header (带有拒绝代码)而不是异常?
没有,SSL连接没有形成,所以HTTP报头没有什么可传输的。你得到的是SSLException。
我实际上不想在
级别(第6层)上发现漏洞,而是在HTTP上查找漏洞。
这句话没有任何意义。该漏洞存在于SSL级别。在SSL连接完成之前,不存在HTTP(s)-level连接,而是失败。
https://stackoverflow.com/questions/5092375
复制相似问题