このトピックでは、Parasoft SOAtest を使用して侵入テストを実行する方法について説明します。
概要
アプリケーションのセキュリティ ホールを発見するには、侵入テストが重要です。Parasoft SOAtest を使用すると、既存の API 機能テストのシナリオを利用してセキュリティ テストを作成し、自動化された CI プロセスに侵入テストを追加できます。
侵入テスト シナリオの作成
SOAtest は、HTTP または HTTPS でアクセス可能な REST および SOAP の API の侵入テストをサポートします。
侵入テストは、侵入テストが必要な API を含む機能テスト シナリオから開始し、それらのシナリオを侵入テスト用に構成することでサポートされます。既存の機能テスト シナリオを利用して侵入テストに変えることも、侵入テスト専用のカスタムの簡略化されたテスト シナリオを作成することもできます。
機能テストをセキュリティ テストとして再利用すると、以下のようなメリットがあります。
- 機能テストはすでに作成されているため、すでに行われた作業を再利用することができ、時間と労力を節約できます。
- 特定の API を実行するには、データベースの準備や他の API の呼び出しなど、いくつかセットアップが必要になる場合があります。すでに機能している機能テストから始めれば、このセットアップはすでに完了しています。
侵入テスト シナリオを構成するための一般的なワークフローは次のとおりです。
- 侵入テストに使用するテスト シナリオを特定し、それをコピーします。機能テスト用のオリジナルのテスト シナリオは、通常どおり実行することができます。
テスト クライアント (SOAP Client、REST Client、EDI Client、Messaging Client など) に、侵入テストが必要な API 呼び出しを行う Penetration Testing Tools to the Traffic Object 出力を追加します。
Browser Playback Tool の場合、侵入テストが必要な HTTP トラフィックまたはブラウザー コンテンツの出力に Penetration Testing Tool を追加します。ツールが HTTP Traffic 出力に連結されている場合、ツールはそのトラフィック メッセージによって記述されたリクエストのみを攻撃します。このツールが Browser Contents に連結されている場合、Browser Playback ツールによって行われたすべてのリクエストを攻撃します。デフォルトでは、[Parasoft] > [設定] > [ブラウザー設定] で有効にしない限り、バイナリ ファイルは無視されます (「その他の設定 」を参照)。
- アプリケーションが変更されたら、機能テスト シナリオだけを更新します。対応する侵入テスト シナリオを実行する準備ができたら、最新の機能テストのセットからコピーして、そのコピーを侵入テスト用に設定するという上記のプロセスを繰り返します。
侵入テストを行うには、API Security Testing ライセンス機能が有効なユーザー ライセンスが必要です。 Penetration Testing Tool も CTP で追加可能です。「Penetration Testing Tool」を参照してください。
セキュリティ テスト シナリオを作成するためのベスト プラクティス
- 機能テスト シナリオは、セキュリティ テストのシナリオとは別に管理し、別々のテストジョブで実行してください。この主な理由は、既存の機能テストに侵入テストを追加すると、機能テストが不安定になる可能性があるからです。どの機能テスト シナリオを自動化されたセキュリティ テストにするかを選択して、別のセキュリティ テストとして管理する機能テストのコピーを作成する必要があります。
- 侵入テストには費用がかかるので、どのテストを選ぶかを選択する必要があります。テストの数を最小限に抑えながら、対象となる API の攻撃対象領域を最大化する必要があります以下の点を考慮する必要があります。
- Penetration Testing Tool は、リクエスト/レスポンスのトラフィックを分析し、リクエスト内のどのパラメーターがテストできるかを理解します。API へのすべての入力が確実に分析されるように、各 API のすべてのパラメーターを実行する機能テストを選択する必要があります。
- 各シナリオでは、どの API 呼び出しをテストするかを決定する必要があります。同じ API が複数のシナリオから参照される可能性があり、別のシナリオでテストされる API に対して、侵入テストを重複して実施したくない場合があります。Penetration Testing Tool は、侵入テストの対象となる API の適切なテストにのみ追加するべきです。
- シナリオの数は、セキュリティ テストが少なくとも 1 日に 1 回実行できる程度の短さになるように管理する必要があります。
- 機能テスト シナリオには、初期化またはクリーンアップのためのセットアップまたはティアダウンセクションが含まれている場合があります。これらは通常、侵入テストを行う必要はありません。これらは通常、浸透テストを行う必要はありません。
- 機能テストにパラメータライズがある場合は、それを削除してください。Penetration Testing Tool は、何をテストすべきかを知るために、同じパラメーターの複数の値のセットを確認する必要はありません。異なる値のセットを送信すると、テストが重複するため、テストの実行が長くなる可能性があります
- 侵入テスト シナリオに変換された機能テスト シナリオから、すべてのアサーションを削除する必要があります。API の機能テストには、通常、サービスからのレスポンスを検証するアサーションがあります。セキュリティ テストとして使用すると、これらのアサーションは失敗する可能性がありますが、結果を確認するときにノイズが発生します。なぜなら、このコンテキストでは、検出されたセキュリティの脆弱性のみを気にするためです。
- 一部の API 呼び出しは、データベースにデータを追加します。このような API に対して Penetration Testing Tool を使用すると、Penetration Testing Tool が API に向ける攻撃の数が原因で、データベースが情報で肥大化する可能性があります。場合によっては、アプリケーションのパフォーマンスが低下して、自動化されたセキュリティ テストの実行が適切な時間内に終了しないなど、予期せぬ副作用が発生することがあります。 このような挙動が見られた場合は、開発チームが問題を解決するまで、その API に対するセキュリティ テストを自動実行から除外してください。
- 機能テストとセキュリティ テストを同じテスト環境で実行するか、別の環境で実行するかを検討する必要があります。機能テストとセキュリティ テストの実行の間に環境をリセットするか、別の環境を使用すると、テストの安定性が向上しますが、通常は必要ありません。多くの場合、同じ環境を再利用できますが、再利用する場合は、最初に機能テストを実行し、最後にセキュリティ テストを実行するべきです。なぜなら、セキュリテ ィテストが機能テストの環境を不安定にする可能性があるからです。さまざまな環境を使用する場合は、元の機能テスト シナリオが変数で構成されていることを確認して、さまざまな環境のさまざまなエンドポイントでテストを簡単にポイントできるようにする必要があります。SOAtestは、環境変数を使用してこれをサポートします。( 異なる環境でのテスト構成 を参照してください。)
侵入テスト シナリオの実行
侵入テスト シナリオを実行するには、「機能テストの実行」の説明に従ってシナリオを実行します。
- Penetration Testing Tool が接続されたツールを実行すると、対応するリクエストとレスポンスのデータがキャプチャされ、Penetration Testing Tool が侵入テストを実行する際の開始点として使用されます。
侵入テストの実行には、たとえ単一の API であっても時間を要することがあるため、Penetration Testing Tool には、次のテストに移るまでの実行時間を管理するタイムアウトが組み込まれています。タイムアウトは、テストの実行に使用されるテスト構成で構成されたタイムアウトに準拠します。現在の API の侵入テストが完了する前にタイムアウトに達した場合、その API の侵入テストは中断され、エラーが報告されます。
さらに、正規表現として追加されたグローバルな包含と除外を設定して、Penetration Testing Tool によってスキャンされる URL を制御できます。包含は除外の前に処理されます。包含が定義されていない場合、除外を考慮する前にすべてが含まれていると見なされます。包含および除外は、Penetration Testing Tool が連結されているツールに関係なく適用されます。
タイムアウトおよび/または包含と除外を変更するには、[Parasoft] > [テスト コンフィギュレーション] に移動し、テスト コンフィギュレーションを選択して [実行] > [セキュリティ] に移動します。
- タイムアウトは分単位で測定されます。
- 含める URL または除外する URL を決定するために使用する正規表現を追加するには、テーブルの横にある [追加] をクリックして、正規表現を入力します。
- 以前に追加した URL 正規表現を削除するには、その正規表現を選択して [削除] をクリックします。
侵入テスト シナリオを実行すると、スキャン対象に関する情報がコンソール ビューに表示されます。コンソールで高詳細度を有効にすると、どの URL がスキャンされ、どの URL がスキップされているかなどの詳細が提供され、包含パターンと除外パターンが期待どおりに実行されていることを確認できます。高い冗長レベルを有効にするには、[Parasoft] > [設定] > [コンソール] に移動し、[高] を選択します。
結果の確認
UI から実行している場合、エラーは [品質タスク] ビューにレポートされます。各エラーをダブルクリックするか、右クリックして [詳細の表示] を選択すると、エラーの詳細とその修正方法を確認できます。
より詳細な結果は、HTML レポートを生成することで得られます。HTML レポートは、CWE または OWASP 2021 トップ 10 ([Parasoft] > [設定] > [レポート] > [API セキュリティ] で設定されます。この設定を変更した後にテストを再実行する必要がないことに注意してください)、リスク、および信頼度ごとにエラーを分類します。
詳細については「結果の確認」を参照してください。
偽陽性の抑制
Penetration Testing Tool で使用される多くのルールは、ヒューリスティックを適用して AUT HTTP レスポンスを分析し、アラートを生成します。このため、レポートされたエラーの中には偽陽性のものがあるかもしれません。新しいエラーを個々に確認して、それが実行可能なアイテムなのか、偽陽性なのかを判断してください (評価のためにアラートの 信頼度 レベルを使用することもできます)。
次回以降の実行時に Penetration Testing Tool が偽陽性をレポートするのを防ぐために、[品質タスク] ビューまたは抑制ファイルでエラーを抑制することができます。詳細については 「タスクの抑制」 を参照してください。
すべてのテストでアクティブ スキャン ルールを抑制するには、デフォルトのアクティブ スキャン ポリシーを変更します。「Configuring Scan Policies」を参照してください。
スキャン ポリシーの構成
SOAtest の侵入テストでは、アクティブ スキャンとパッシブ スキャンのルールを使って分析を行います。アクティブ スキャン ルールは、セキュリティの脆弱性を発見しようと、API に追加の (操作された) リクエストを行います。 対照的に、パッシブ スキャン ルールは、アプリケーションに新しいリクエストを行わず、代わりに、対応するツールによってキャプチャされたリクエスト/レスポンス データを分析して、セキュリティの脆弱性を発見します。SOAtest は、侵入テストのために OWASP ZAP を活用しています。
各プロファイルは、アクティブ スキャン ポリシーと一連のパッシブ スキャン ルールで構成されます。各プロファイルは、1 つのアクティブ スキャン ポリシーおよびパッシブ スキャン ルール セットで構成されます。デフォルトでは、構成されたテストが REST API、SOAP API、またはその他の Web リソース (HTML など) に対してリクエストを行うかどうかに基づいて、プロファイルが選択されます。
カスタムのアクティブ スキャン ポリシーを使用したい場合は、OWASP ZAP からスキャン ポリシーをエクスポートし、それを使用するように SOAtest を構成することで可能になります。エクスポートされたスキャンポリシーは、Penetration Testing Tool で使用されるアクティブ スキャン ルール セットを構成します。カスタムのアクティブ スキャン ポリシーを使用する場合、リクエストが REST API または SOAP API のどちらに行われるかに基づいて、適切なパッシブ スキャン ルール セットが自動的に使用されます。
カスタムの ZAP スキャン ポリシーを使用するように SOAtest を設定するには、以下の操作を行います。
- [Parasoft] > [テスト コンフィギュレーション] を選択してテスト コンフィギュレーション マネージャーを開きます。
- [新規] をクリックして新しいテスト コンフィギュレーションを作成するか、既存のテスト コンフィギュレーションを選択します。
- テスト コンフィギュレーションの [実行] > [セキュリティ] タブをクリックします。
- [カスタム スキャン ポリシーの使用] を選択します。
- [参照] ボタンを使用して、ZAP .policy ファイルを選択します。
カスタム アクティブ スキャン ポリシーの作成
SOAtest ZAP のインストール ディレクトリにある SOAtest embedded ZAP を使って、カスタム アクティブ スキャン ポリシーを作成・変更することができます。
plugins\com.parasoft.ptest.libs.web_<version>\root\zap
(ここで、version は com.parasoft.ptest.libs.web プラグインの実際のバージョンです。たとえば、10.5.2.202109012000)
SOAtest とは独立して ZAP がインストールされている場合は、次のいずれかの場所に ZAP ホームディレクトリがあるはずです。
- Windows: C:\Users\<username>\OWASP ZAP
- Linux: ~/.ZAP
- Mac: ~/Library/Application Support/ZAP
これらのディレクトリに保存されている独立した ZAP インストールのユーザー設定は、起動時に SOAtest embedded ZAP と競合する可能性があります。このため、SOAtest embedded ZAP を起動する際には、-dir コマンドライン引数を使用し、カスタム ZAP のホーム ディレクトリを指定して起動する必要があります。コマンドプロンプトを使用して、SOAtest ZAPインストール ディレクトリに移動し、カスタム ZAP のホーム ディレクトリを使用して SOAtest embedded ZAP を起動します。次に例を示します。
- Windows: zap -dir C:\Users\your_name\ZAP_SOATEST
- Linux: ./zap.sh -dir ~/.ZAP_SOATEST
- Mac: ./zap.sh -dir ~/Library/Application Support/ZAP_SOATEST
SOAtest とは独立した ZAP がインストールされていない場合は、SOAtest ZAP のインストール ディレクトリにある zap.bat (Windows) または zap.sh (Linux、Mac) スクリプトを使用して SOAtest embedded ZAP を実行できます。
SOAtest embedded ZAP を起動すると、すでに使用されているプロキシ ポートを使用しようとする場合があります。その場合、ZAP は別のポートを選択するように求めます。
新しいアクティブ スキャン ポリシーを作成したり、既存のポリシーを編集するには、ZAP のトップメニューから [Analyze] > [Scan Policy Manager] を選択します。[Scan Policy Manager ] ダイアログで、既存のポリシーを選択するか、新しいポリシーを作成します。[Scan Policy] ダイアログで、カスタム ポリシーに適用するアクティブ スキャン ルールを選択します。
作成したカスタム .policy ファイルは、ZAP ホームディレクトリの policies フォルダーに保存されます。
デフォルトのアクティブ スキャン ポリシーの検査と変更
SOAtest で使用されているデフォルトのアクティブ スキャン ポリシーを検査・変更することができます。SOAtest インストールの以下のフォルダーにあります。
plugins\com.parasoft.ptest.libs.web_version\root\zap\policies
(ここで、version は com.parasoft.ptest.libs.web プラグインの実際のバージョンです。たとえば 10.5.2.202109012000)
このフォルダーには、以下のアクティブ ポリシー ファイルが含まれています。
- Parasoft SOAP.policy – SOAP API へのリクエストに使用されます。これには主に、SOAP Client に接続された Penetration Testing Tool が含まれますが、SOAP API にリクエストを行う他のツールを含めることができます。
- Parasoft REST.policy – REST API へのリクエストに使用されます。これには主に、REST Client に接続された Penetration Testing Tool が含まれますが、他のクライアント ツールや Browser Playback Tool など、REST API にリクエストを行う他のツールを含めることもできます。
- Parasoft Web.policy – 非 API Web リソースへのリクエストに使用されます。これは、非 API リクエスト用の Browser Playback Tool に接続された Penetration Testing Tool にのみ使用されます。
これらのポリシーのいずれかを変更した場合、変更したポリシーは次回の Penetration Testing Tool の起動時に使用されます
サポートされている侵入テスト ルール
ID | ルール | CWE ID | OWASP | リスク | タイプ | プロファイル |
---|---|---|---|---|---|---|
0 | Directory Browsing | 548 | A01:2021 | medium | Active | Web/REST/SOAP |
2 | Private IP Disclosure | 200 | A01:2021 | low | Passive | Web/REST/SOAP |
3 | Session ID in URL Rewrite | 200 | A01:2021 | medium | Passive | Web/REST/SOAP |
6 | Path Traversal | 22 | A03:2021 | high | Active | Web/REST/SOAP |
7 | Remote File Inclusion | 98 | A03:2021 | high | Active | Web/REST |
41 | Source Code Disclosure - Git | 541 | A05:2021 | high | Active | Web/REST/SOAP |
42 | Source Code Disclosure - SVN | 541 | A05:2021 | medium | Active | Web/REST/SOAP |
43 | Source Code Disclosure - File Inclusion | 541 | A05:2021 | high | Active | Web/REST/SOAP |
10003 | Vulnerable JS Library | 829 | A06:2021 | medium | Passive | Web/REST/SOAP |
10009 | In Page Banner Information Leak | 200 | A05:2021 | low | Passive | Web/REST/SOAP |
10010 | Cookie No HttpOnly Flag | 1004 | A05:2021 | low | Passive | Web/REST/SOAP |
10011 | Cookie Without Secure Flag | 614 | A05:2021 | low | Passive | Web/REST/SOAP |
10015 | Incomplete or No Cache-control Header Set | 525 | 未指定 | low | Passive | Web/REST |
10017 | Cross-Domain JavaScript Source File Inclusion | 829 | A08:2021 | low | Passive | Web/REST/SOAP |
10019 | Content-Type Header Missing | 345 | A05:2021 | informational | Passive | Web/REST/SOAP |
10020 | Anti-clickjacking Header | 1021 | 未指定 | medium | Passive | Web/REST/SOAP |
10021 | X-Content-Type-Options Header Missing | 693 | A05:2021 | low | Passive | Web/REST |
10023 | Information Disclosure - Debug Error Messages | 200 | A01:2021 | low | Passive | Web/REST/SOAP |
10024 | Information Disclosure - Sensitive Information in URL | 200 | A01:2021 | informational | Passive | Web/REST/SOAP |
10025 | Information Disclosure - Sensitive Information in HTTP Referrer Header | 200 | A01:2021 | informational | Passive | Web/REST/SOAP |
10026 | HTTP Parameter Override | 20 | A04:2021 | medium | Passive | Web/REST/SOAP |
10027 | Information Disclosure - Suspicious Comments | 200 | A01:2021 | informational | Passive | Web/REST/SOAP |
10028 | Open Redirect | 601 | A03:2021 | high | Passive | Web/REST/SOAP |
10029 | Cookie Poisoning | 20 | A03:2021 | informational | Passive | Web/REST/SOAP |
10030 | User Controllable Charset | 20 | A03:2021 | informational | Passive | Web/REST/SOAP |
10031 | User Controllable HTML Element Attribute (Potential XSS) | 20 | A03:2021 | informational | Passive | Web/REST/SOAP |
10032 | Viewstate | 642 | 未指定 | high, medium, low, informational | Passive | Web/REST/SOAP |
10033 | Directory Browsing | 548 | A01:2021 | medium | Passive | Web/REST/SOAP |
10034 | Heartbleed OpenSSL Vulnerability (Indicative) | 119 | A09:2021 | high | Passive | Web/REST/SOAP |
10035 | Strict-Transport-Security Header | 319 | A05:2021 | low, informational | Passive | Web/REST/SOAP |
10036 | HTTP Server Response Header | 200 | A05:2021 | low, informational | Passive | Web/REST/SOAP |
10037 | Server Leaks Information via 'X-Powered-By' HTTP Response Header Field(s) | 200 | A01:2021 | low | Passive | Web/REST/SOAP |
10038 | Content Security Policy (CSP) Header Not Set | 693 | A05:2021 | medium, informational | Passive | Web/REST/SOAP |
10039 | X-Backend-Server Header Information Leak | 200 | A05:2021 | low | Passive | Web/REST/SOAP |
10040 | Secure Pages Include Mixed Content | 311 | A05:2021 | medium, low | Passive | Web/REST/SOAP |
10041 | HTTP to HTTPS Insecure Transition in Form Post | 319 | A02:2021 | medium | Passive | Web/REST/SOAP |
10042 | HTTPS to HTTP Insecure Transition in Form Post | 319 | A02:2021 | medium | Passive | Web/REST/SOAP |
10043 | User Controllable JavaScript Event (XSS) | 20 | A03:2021 | info | Passive | Web/REST/SOAP |
10044 | Big Redirect Detected (Potential Sensitive Information Leak) | 201 | A04:2021 | low | Passive | Web/REST/SOAP |
10045 | Source Code Disclosure - /WEB-INF folder | 541 | A05:2021 | high | Active | Web/REST/SOAP |
10047 | HTTPS Content Available via HTTP | 311 | A05:2021 | low | Active | Web/REST/SOAP |
10048 | Remote Code Execution - Shell Shock | 78 | A09:2021 | high | Active | Web/REST/SOAP |
10049 | Content Cacheability | 524 | 未指定 | informational | Passive | Web/REST |
10050 | Retrieved from Cache | 未指定 | 未指定 | informational | Passive | Web/REST/SOAP |
10051 | Relative Path Confusion | 20 | A05:2021 | medium | Active | Web |
10052 | X-ChromeLogger-Data (XCOLD) Header Information Leak | 200 | A04:2021 | medium | Passive | Web/REST/SOAP |
10054 | Cookie without SameSite Attribute | 1275 | A01:2021 | low | Passive | Web/REST/SOAP |
10055 | CSP | 693 | A05:2021 | medium, low, informational | Passive | Web/REST/SOAP |
10056 | X-Debug-Token Information Leak | 200 | A01:2021 | low | Passive | Web/REST/SOAP |
10057 | Username Hash Found | 284 | A01:2021 | informational | Passive | Web/REST/SOAP |
10061 | X-AspNet-Version Response Header | 933 | A05:2021 | low | Passive | Web/REST/SOAP |
10062 | PII Disclosure | 359 | A04:2021 | high | Passive | Web/REST/SOAP |
10063 | Permissions Policy Header Not Set | 16 | A01:2021 | low | Passive | Web/REST/SOAP |
10070 | Use of SAML | 未指定 | 未指定 | informational | Passive | Web/REST/SOAP |
10094 | Base64 Disclosure | 200 | A04:2021 | high, informational | Passive | Web/REST/SOAP |
10095 | Backup File Disclosure | 530 | A04:2021 | medium | Active | Web/REST/SOAP |
10096 | Timestamp Disclosure | 200 | A01:2021 | informational | Passive | Web/REST/SOAP |
10097 | Hash Disclosure | 200 | A04:2021 | high, low | Passive | Web/REST/SOAP |
10098 | Cross-Domain Misconfiguration | 264 | A01:2021 | medium | Passive | Web/REST/SOAP |
10099 | Source Code Disclosure | 540 | A05:2021 | medium | Passive | Web/REST/SOAP |
10103 | Image Location and Privacy Scanner | 200 | 未指定 | informational | Passive | Web/REST/SOAP |
10105 | Weak Authentication Method | 287 | A01:2021 | high, medium | Passive | Web/REST/SOAP |
10106 | HTTP Only Site | 311 | A05:2021 | medium | Active | Web/REST/SOAP |
10107 | Httpoxy - Proxy Header Misuse | 20 | A06:2021 | high | Active | Web/REST/SOAP |
10108 | Reverse Tabnabbing | 未指定 | A04:2021 | medium | Passive | Web/REST/SOAP |
10109 | Modern Web Application | 未指定 | 未指定 | informational | Passive | Web/REST/SOAP |
10110 | Dangerous JS Functions | 749 | A04:2021 | low | Passive | Web/REST/SOAP |
10202 | Absence of Anti-CSRF Tokens | 352 | A01:2021 | low, informational | Passive | Web/REST/SOAP |
20012 | Anti-CSRF Tokens Check | 352 | A05:2021 | high | Active | Web |
20015 | Heartbleed OpenSSL Vulnerability | 119 | A06:2021 | high | Active | Web/REST/SOAP |
20016 | Cross-Domain Misconfiguration | 264 | A01:2021 | high | Active | Web/REST/SOAP |
20017 | Source Code Disclosure - CVE-2012-1823 | 20 | A06:2021 | high | Active | Web/REST/SOAP |
20018 | Remote Code Execution - CVE-2012-1823 | 20 | A06:2021 | high | Active | Web/REST/SOAP |
20019 | External Redirect | 601 | A03:2021 | high | Active | Web/REST |
30001 | Buffer Overflow | 120 | A03:2021 | medium | Active | Web/REST/SOAP |
30002 | Format String Error | 134 | A03:2021 | medium | Active | Web/REST/SOAP |
30003 | Integer Overflow Error | 190 | A03:2021 | medium | Active | Web/REST |
40003 | CRLF Injection | 113 | A03:2021 | medium | Active | Web/REST |
40008 | Parameter Tampering | 472 | A04:2021 | medium | Active | Web/REST/SOAP |
40009 | Server Side Include | 97 | A03:2021 | high | Active | Web/REST |
40012 | Cross Site Scripting (Reflected) | 79 | A03:2021 | high | Active | Web/REST |
40013 | Session Fixation | 384 | A01:2021 | high | Active | Web/REST/SOAP |
40014 | Cross Site Scripting (Persistent) | 79 | A03:2021 | high | Active | Web/REST |
40015 | LDAP Injection | 90 | A03:2021 | high | Active | Web/REST/SOAP |
40016 | Cross Site Scripting (Persistent) - Prime | 79 | 未指定 | informational | Active | Web/REST |
40017 | Cross Site Scripting (Persistent) - Spider | 79 | 未指定 | informational | Active | Web/REST |
40018 | SQL Injection | 89 | A03:2021 | high | Active | Web/REST/SOAP |
40025 | Proxy Disclosure | 200 | A05:2021 | medium | Active | Web/REST/SOAP |
40028 | ELMAH Information Leak | 215 | A05:2021 | medium | Active | Web/REST/SOAP |
40029 | Trace.axd Information Leak | 215 | A05:2021 | medium | Active | Web/REST/SOAP |
40031 | Out of Band XSS | 79 | A03:2021 | high | Active | Web/REST |
40032 | .htaccess Information Leak | 215 | A05:2021 | medium | Active | Web/REST/SOAP |
40034 | .env Information Leak | 215 | A05:2021 | medium | Active | Web/REST/SOAP |
40035 | Hidden File Finder | 538 | A05:2021 | medium | Active | Web/REST/SOAP |
40038 | Bypassing 403 | 未指定 | A01:2021 | medium | Active | Web/REST/SOAP |
40039 | Web Cache Deception | 未指定 | A05:2021 | medium | Active | Web/REST/SOAP |
40040 | CORS Header | 942 | A01:2021 | high, medium, informational | Active | Web/REST |
40042 | Spring Actuator Information Leak | 215 | A01:2021 | medium | Active | Web/REST/SOAP |
40044 | Exponential Entity Expansion (Billion Laughs Attack) | 776 | A04:2021 | medium | Active | Web/REST/SOAP |
40045 | Spring4Shell | 78 | A03:2021, A06:2021 | high | Active | Web/REST/SOAP |
90001 | Insecure JSF ViewState | 642 | A04:2021 | medium | Passive | Web/REST/SOAP |
90002 | Java Serialization Object | 502 | A04:2021 | medium | Passive | Web/REST/SOAP |
90003 | Sub Resource Integrity Attribute Missing | 345 | A05:2021 | medium | Passive | Web/REST/SOAP |
90004 | Insufficient Site Isolation Against Spectre Vulnerability | 693 | A04:2021 | low | Passive | Web/REST/SOAP |
90011 | Charset Mismatch | 436 | 未指定 | informational | Passive | Web/REST/SOAP |
90017 | XSLT Injection | 91 | A03:2021 | medium | Active | Web/REST/SOAP |
90019 | Server Side Code Injection | 94 | A03:2021 | high | Active | Web/REST/SOAP |
90020 | Remote OS Command Injection | 78 | A03:2021 | high | Active | Web/REST/SOAP |
90021 | XPath Injection | 643 | A03:2021 | high | Active | Web/REST/SOAP |
90022 | Application Error Disclosure | 200 | A05:2021 | medium | Passive | Web/REST/SOAP |
90023 | XML External Entity Attack | 611 | A03:2021 | high | Active | Web/REST/SOAP |
90024 | Generic Padding Oracle | 209 | A02:2021 | high | Active | Web/REST/SOAP |
90025 | Expression Language Injection | 917 | A03:2021 | high | Active | Web |
90028 | Insecure HTTP Method | 200 | A05:2021 | medium | Active | Web/REST/SOAP |
90030 | WSDL File Detection | 未指定 | A05:2021 | informational | Passive | Web/REST/SOAP |
90033 | Loosely Scoped Cookie | 565 | A08:2021 | informational | Passive | Web/REST/SOAP |
90034 | Cloud Metadata Potentially Exposed | 未指定 | A05:2021 | high | Active | Web/REST/SOAP |
90035 | Server Side Template Injection | 94 | 未指定 | high | Active | Web/REST |
90036 | Server Side Template Injection (Blind) | 74 | 未指定 | high | Active | Web/REST |
110001 | Application Error Disclosure via WebSockets | 209 | 未指定 | medium | Passive | Web/REST/SOAP |
110002 | Base64 Disclosure in WebSocket message | 未指定 | 未指定 | informational | Passive | Web/REST/SOAP |
110003 | Information Disclosure - Debug Error Messages via WebSocket | 200 | 未指定 | low | Passive | Web/REST/SOAP |
110004 | Email address found in WebSocket message | 200 | 未指定 | informational | Passive | Web/REST/SOAP |
110005 | Personally Identifiable Information via WebSocket | 359 | 未指定 | high | Passive | Web/REST/SOAP |
110006 | Private IP Disclosure via WebSocket | 未指定 | 未指定 | low | Passive | Web/REST/SOAP |
110007 | Username Hash Found in WebSocket message | 284 | 未指定 | informational | Passive | Web/REST/SOAP |
110008 | Information Disclosure - Suspicious Comments in XML via WebSocket | 200 | 未指定 | informational | Passive | Web/REST/SOAP |
111001 | HTTP Verb Tampering (Parasoft proprietary rule) | 287 | A07:2021 | medium | Active | Web/REST |
Burp Suite との統合
SOAtest は、侵入テストを行うために、事前に設定された OWASP ZAP のインスタンスを内部で使用しています。また、拡張機能 Burp+Suite+Extensions+1.0 を利用することで、商用ツールである Burp Suite を侵入テストに利用することもできます。