自分だけのクイズ作成 - Quipha公開中

【OWASP ZAP】高度なSQLインジェクション【アドオン追加】

ツール
スポンサーリンク

はじめに

今回は、OWASP ZAPアドオンを追加して動的スキャンを行ってみます。

SQLインジェクションのテストはデフォルトでインストールされていますが、アドオンで高度なSQLインジェクションを追加してみます。

OWASP ZAPはアドオンでテストを追加することができます。

OWASP ZAPのインストール方法や、基本的な使い方は以下にまとめましたのでご覧ください。

脆弱性の危険性を試した記事を以前まとめましたので、あわせてご覧ください。

動作環境
  • ホスト端末:Windows 10
  • OWASP ZAP 2.11.0
  • Advanced SQLInjection Scanner 15.0.0

アドオン追加

OWASP ZAPを起動しましょう。

上部のメニューの「アドオンの管理」ボタンをクリックします。

今回は「Advanced SQLInjection Scanner」を追加します。

マーケットプレイスタブを開きます。
フィルタに「sql」と入力すると該当のテストが表示されました。
右側のチェックボックスにチェックを入れ、「選択済みをインストール」をクリックします。

ダウンロードはすぐに完了しました。

テストはインストール済みの方に追加されました。

アドオンのソースコードは以下です。

GitHub - zaproxy/zap-extensions: OWASP ZAP Add-ons
OWASP ZAP Add-ons. Contribute to zaproxy/zap-extensions development by creating an account on GitHub.

Advanced SQLInjection Add-onのソースコードは以下です。

zap-extensions/addOns/sqliplugin/src/main/java/org/zaproxy/zap/extension/sqliplugin at main · zaproxy/zap-extensions
OWASP ZAP Add-ons. Contribute to zaproxy/zap-extensions development by creating an account on GitHub.
スポンサーリンク

動的スキャン

それでは動的スキャンを行ってみましょう。

追加したテストは、スキャンポリシーに追加されていました。(高度なSQLインジェクション)
今回はスキャンポリシーで、SQLインジェクションのみにしました。

スキャンしたいリクエストに動的スキャンを行います。

SQLインジェクションの脆弱性のあるサイトを、ローカルPCに用意しました。

スキャンの進捗状況を確認してみます。以下のボタンをクリックします。

それぞれの進捗状況を確認できます。
高度なSQLインジェクションは時間がかかりました。

高度なSQLインジェクションの脆弱性を検知することができました。

SQLインジェクションについて

以前記事にした以下のサイトに試してみます。

敢えてSQLインジェクションが含まれるWebサイトに試してみました。
上記の記事のサイトでは、不正なパラメータを送信することにより、ログインを成功させる脆弱性コードを書きました。
実際には、「ログインOK!」という応答を返しているだけです。

動的スキャンを実行してみたところ、SQLインジェクションが検知できませんでした。

基本的にはOWASP ZAPは、不正なリクエストを送信し、応答結果を確認してSQLインジェクションかどうか判断しています。

判断する基準があるのでしょう、取り逃すよりは、取り敢えず検知してみてから検討する方が良いと思います。

既定のアラートのしきい値が「中」になっていました。

既定のしきい値を変更するのも良いですが、各テストごとにしきい値を変更するのも良いでしょう。
低」にした場合、検知することができました

必ずしも、コード中のSQLインジェクションを全て検知できるわけではない点に注意しましょう。

OWASP ZAPで脆弱性が検知されなかったからと言って、完全に安全であることが証明されるわけではありません。
基本的にはコーディング時に、脆弱性を埋め込まないように対応を心がけるべきでしょう。

さいごに

今回は、OWASP ZAPのアドオンを追加して実行してみました。
他にもアドオンはありますので、是非試してみてください。

コメント

タイトルとURLをコピーしました