使用Weak Ciphers连接Java HttpURLConnection

时间:2011-02-23 14:44:49

标签: java ssl https encryption weak

我正在研究Java中的漏洞扫描程序,以检查允许使用弱密码套件进行连接的网站。因此,我会尝试使用56位“SSL_DHE_RSA_WITH_DES_CBC_SHA”(或其他弱密码)进行连接,如果我说200 OK,则该网站容易受到攻击。这是我到目前为止的地方:

1- HttpURLConnection一直使用默认密码,但如果我尝试使用“System.setProperty()设置弱密码,我要么得到”密码不支持异常(对于大多数密码套件)或“连接被拒绝“我尝试连接时的异常()。我知道拒绝连接是我对不接受弱密码的网站的回答,但我如何获得实际的http响应标头(带有拒绝代码)而不是异常?

2-我实际上对查找SSL级别(第6层)但在HTTP级别(第7层)上的漏洞并不感兴趣,我知道在某些情况下http标头可能具有欺骗性,但我对此感到满意。< / p>

总之,我需要这样的东西才能用于Weak Cipher Suites:

        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());

1 个答案:

答案 0 :(得分:2)

  

如何获得实际的http响应   标题(带拒绝代码)代替   异常?

你没有。未形成S​​SL连接,因此无法传输HTTP标头。你得到的是SSLException。

  

我其实并不感兴趣   在SSL级别上查找漏洞   (第6层)但在HTTP级别

这句话没有任何意义。该漏洞存在于SSL级别。在SSL连接完成之前, 没有HTTP(s)级连接,而是失败。