Java HttpURLConnection подключиться с помощью слабых шифров - PullRequest
0 голосов
/ 23 февраля 2011

Я работаю над сканером уязвимостей в Java, чтобы проверять сайты, которые разрешают соединения с использованием слабых комплектов шифров.Поэтому я, например, попытался бы подключиться, используя 56-битный «SSL_DHE_RSA_WITH_DES_CBC_SHA» (или другие слабые шифры), и если я скажу 200 OK, веб-сайт уязвим.Вот где я до сих пор:

1 - HttpURLConnection работает хорошо все время с шифрами по умолчанию, но если я пытаюсь использовать "System.setProperty (), чтобы установить слабый шифр, я либо получаю" шифр не поддерживаетсяисключение (для большинства комплектов шифров) или исключение «соединение отклонено», когда я пытаюсь подключиться ().Я знаю, что соединение отклонено - это мой ответ веб-сайтам, которые не принимают слабые шифры, но как получить фактический заголовок http-ответа (с кодом отклонения) вместо исключения?

2- На самом деле я незаинтересован в поиске уязвимости на уровне SSL (уровень 6), но на уровне HTTP (уровень 7), и я знаю, что в некоторых случаях заголовок http может быть обманчивым, но я согласен с этим.

Итак, янужно что-то подобное, чтобы работать только для 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 Ответ

2 голосов
/ 24 февраля 2011

как получить действительный заголовок http-ответа (с кодом отклонения) вместо исключения?

Нет.Соединение SSL не установлено, поэтому заголовки HTTP не передаются.То, что вы получаете, это SSLException.

Я на самом деле не заинтересован в поиске уязвимости на уровне SSL (уровень 6), но на уровне HTTP

Это утверждение неиметь смысл.Уязвимость существует на уровне SSL. - это без HTTP (s) -уровневого соединения до тех пор, пока SSL-соединение не будет установлено, и вместо этого произойдет сбой.

...