0

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

1 回答 1

2

如何获取实际的 http 响应标头(带有拒绝代码)而不是异常?

你没有。SSL 连接未形成,因此没有任何内容可供 HTTP 标头传输。你得到的是 SSLException。

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

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

于 2011-02-24T01:33:52.267 回答