以前違う環境で使った事はあったのですが、今回別の環境で少し使いたくなったので、手順を残しておきます。
OWASP ZAPについては公式サイトや下記サイトが分かりやすいです
- OWASP Zed Attack Proxy Project
- OWASP Zed Attack Proxy (ZAP)とは?
- ここを読むと使い方もザックリと分かるので、すごく素敵です
- 「自動レグレッションテスト」とか「用意されているREST APIを〜」とか気になる事が書いてありますね(調べねば・・・)
インストール先の環境
virtual box上にインストールしているkaliilnux
ionis@kali:~/workspace/ZAP_2.3.1$ uname -a
Linux kali 3.14-kali1-amd64 #1 SMP Debian 3.14.5-1kali1 (2014-06-07) x86_64 GNU/Linux
javaインストール
OWASP ZAPがJava7以降を要求しているらしく、kalilinux 1.0.9aデフォルト設定だと下記が出て実行出来ないため
ionis@kali:~/workspace/ZAP_2.3.1$ sh zap.sh
Exiting: ZAP requires a minimum of Java 7 to run, found 1.6.0_32
- 主にこちらの手順を参考にしました
- How to install Oracle Java 8 on Linux?
手順
- JDK ダウンロード
- http://www.oracle.com/technetwork/java/javase/downloads/index.html
- 今回DLしてきたのは、jdk-8u31-linux-x64.tar.gz
- DLを押す前に、ライセンスを読んで「Accept License Agreement」を選択していないとダメです
- インストール
ionis@kali:~/workspace$ sudo mv jdk1.8.0_31 /opt/
ionis@kali:~/workspace$ sudo update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_31/bin/java 300
ionis@kali:~/workspace$ java -version
java version "1.6.0_32"
OpenJDK Runtime Environment (IcedTea6 1.13.4) (6b32-1.13.4-1~deb7u1)
OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)
ionis@kali:~/workspace$ sudo update-alternatives --config java
alternative java (/usr/bin/java を提供) には 4 個の選択肢があります。
選択肢 パス 優先度 状態
------------------------------------------------------------
* 0 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 自動モード
1 /opt/jdk1.8.0_31/bin/java 300 手動モード
2 /opt/jre1.8.0_31/bin/java 1 手動モード
3 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 手動モード
4 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1051 手動モード
現在の選択 [*] を保持するには Enter、さもなければ選択肢の番号のキーを押してください: 1
update-alternatives: /usr/bin/java (java) を提供するために 手動モード で /opt/jdk1.8.0_31/bin/java を使います
ionis@kali:~/workspace$ java --version
Unrecognized option: --version
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
ionis@kali:~/workspace$ java -version
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)
- update-alternativesについてはこちらの記事が分かりやすいと思います
- update-alternativesに管理してもらうコマンドを追加する。
OWASP ZAPインストール
- ダウンロード
- 展開 & 起動
tar xzvf ZAP_2.3.1_Linux.tar.gz
cd ZAP_2.3.1
sh zap.sh
ブラウザの設定をproxyしてenjoy!
- Iceweaselがインストールされていたので、以下から設定をへんこう
- Edit -> Preferences -> Advanced -> Network -> Settings
- Manual proxy configurationを選択し、
HTTP Proxy: localhost, Port: 8080
- 「Use this proxy server for all protocols」にチェックを入れておく
普段からproxyを利用しているような環境の場合
もし、普段からProxyを使っていたり立てていたりする場合は、上記設定を入れてもブラウザから外部に出れず下記のようなエラーメッセージが出る事があるかもしれません
ZAP Error [java.net.UnknownHostException]: example.com
その場合は、OWASP ZAPを触ってみるに以前記載したのですが、プロキシチェインを設定してあげると良いです。
下記に再度記載しておきます
プロキシチェインの設定
- ツール -> オプション -> Options -> ネットワーク -> プロキシ・チェイン利用
- proxyサーバーとportを記載し、Addから除外するドメインを記載しておく
- 一部豆腐が出ていますが、おそらく日本語周りで何かがあったんだと思います(気にしないでください)
ブラウザが出す証明書の警告が面倒な場合
証明書をインポートしてしまいましょう
OWASP ZAPから以下の手順
- OWASP ZAPから証明書を作成
- ツール -> オプション -> Options -> ダイナミックSSL証明書 -> 保存
- 保存したパスは覚えておく
- ブラウザ(Iceweasel)にインポート
- Edit -> Preferences -> Advanced -> Certificates -> View Certificates -> Authorities -> Import
- 先程保存したcerファイルを指定し取り込む
- 取り込む際には(This certificate can identify websites)にチェックをいれておく
まとめ
OWASP ZAPは初めてのインストールというわけではないのに、普段Javaを利用しない人なので、インストールに少し手間取りましたorz
さて、やりたかった事をやってみるぞー!