
Образец приложения OkHttp, уязвимый к CVE-2016-2402
Это форк стандартного simple-client из проекта okhttp.
Simple-client — это Java-приложение, которое выполняет GET-запрос к https://api.github.com и получает имена участников, внёсших вклад в okhttp.
Этот форк изменён так, что для сетевых соединений используется OkHttp 3.0.1, а также применяется закрепление сертификатов (certificate pinning).
OkHttp 3.0.1 уязвим для CVE-2016-2402 — данное приложение демонстрирует эту уязвимость.
Дополнительную информацию можно найти здесь:
Чтобы собрать приложение, сначала клонируйте репозиторий, а затем выполните:
ant build
Если у вас нет закрытого ключа ЦС, доверенного JRE вашей системы, вам нужно добавить сертификат прокси в хранилище ЦС. Пусть CA_CERT.pem — сертификат ЦС вашего прокси.
$cp /etc/ssl/certs/java/cacerts .
$keytool -import -trustcacerts -alias ikozCA -file CA_CERT.pem -keystore cacerts -storepass changeit
Затем запустите simple-client со следующими параметрами для подключения через локальный прокси:
$java -DproxyHost=127.0.0.1 -DproxyPort=8080 -Djavax.net.ssl.trustStore=cacerts -jar certPinningVulnerableOkHttp.jar
John Kozyrakis