広告

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

ツール他

当サイトではアフィリエイト広告を利用しています。

広告

はじめに

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

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

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

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

【OWASP ZAP】インストールと基本的な使い方【Web脆弱性診断】
OWASP ZAPを使用して、Webの脆弱性診断を行ってみます。オープンソースで無料で使うことができます。

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

【Laravel】敢えて試すSQLインジェクション【仕組みを知るには実装】
敢えてSQLインジェクションの脆弱性を含んだシステムを作成します。対策や仕組みを知るには実際に試してみましょう。人気のあるLaravelというフレームワークで試します。

Mac版のOWASP ZAPについては以下の記事をご覧ください。
本記事ではWindows版で解説していますが、使い方はMac版でも同様です。

【OWASP ZAP】インストールと使い方【M1 Mac】
Mac版のOWASP ZAPを使用して、Webの脆弱性診断を行ってみます。オープンソースで無料で使うことができます。
動作環境
  • ホスト端末:Windows 10
  • OWASP ZAP 2.11.0
  • Advanced SQLInjection Scanner 15.0.0

他にも私のブログで、ツールについて解説している記事がありますのでご覧ください。

アドオン追加

OWASP ZAPを起動しましょう。

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

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

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

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

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

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

GitHub – zaproxy/zap-extensions: ZAP Add-ons
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
ZAP Add-ons. Contribute to zaproxy/zap-extensions development by creating an account on GitHub.
広告

動的スキャン

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

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

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

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

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

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

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

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

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

【Laravel】敢えて試すSQLインジェクション【仕組みを知るには実装】
敢えてSQLインジェクションの脆弱性を含んだシステムを作成します。対策や仕組みを知るには実際に試してみましょう。人気のあるLaravelというフレームワークで試します。

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

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

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

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

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

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

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

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

さいごに

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

他にも私のブログで、ツールについて解説している記事がありますのでご覧ください。

MacOSWindowsツールツール他
広告

個人開発

千草 @chigusaweb

現役のITエンジニア。 気ままにコードを書いたり技術情報を発信しています。 Webアプリ/Windows・Macアプリ/モバイルアプリなど。 (Java, PHP, Javascript, Swift, Python, C#, 他) 個人開発:Clibor, Quipha, TXT-Crypter, 符計算特訓, チグサツール Kindle本: Laravel9 実践入門, 他

クリップボード履歴

Clibor

Windows

Cliborはシンプルで高機能なクリップボード履歴ソフトです。 また普段よく使うワードを定型文として登録し、いつでもクリップボードに保存することができます。高度なテキスト整形・FIFOモード・ホットキーに対応。

クリップボード履歴

Windows版Cliborの利便性を、そのままMacでも。 定型文登録、高度なテキスト整形、FIFOモードなど、便利なクリップボード履歴機能を利用できます。macOS最新のTahoeにも対応。

テキスト暗号化

テキストを暗号化してURLで共有・保存できる無料サービスです。 パスフレーズを知る人だけが復号できます。登録不要、データはサーバーに保存されません。 Notionでも利用できます。

学習

Quipha

Web / iOS

自分だけの問題集や問題を作成し、クイズを行い、学習に活用することができるアプリです。 例えば、学校の授業、語学学習、IT資格やその他の資格など多彩な分野での学習を支援します。 いつでも、どこでも、あなたの学習をサポート。

ツール

日常の「ちょっとした効率化」をサポートするWeb便利ツール集。 テキスト・データ処理から最新のAI連携まで、日々のちょっとした手間でググりがちなユーティリティを1つの場所に集約。

麻雀

麻雀の符計算をひたすら特訓しマスターしましょう。 初心者の方はもちろん、もっと速く計算したい方にも役立ちます。 5万対局以上の実践から問題を収録。

コメント

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