
CVE-2016-2402に対して脆弱性があるOkHttpサンプルアプリ
これは、okhttp プロジェクトのデフォルトの simple-client をフォークしたものです。
Simple-client は Java アプリで、https://api.github.com に GET リクエストを送り、okhttp のコントリビューターの名前を取得するだけのものです。
このフォークは、ネットワーク接続に OkHttp 3.0.1 を使用し、証明書ピンニングも使用するように編集されています。
OkHttp 3.0.1 は CVE-2016-2402 に対して脆弱です - このアプリはその欠陥を示しています。
詳細については以下をお読みください:
アプリをビルドするには、まずリポジトリをクローンし、次に以下を実行します:
ant build
システムの JRE によって信頼されている CA の秘密鍵をお持ちでない場合は、プロキシの証明書を CA ストアに追加する必要があります。 CA_CERT.pem がプロキシの CA 証明書であるとします。
$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