アクティブスキャンルール - Beta

以下のベータステータスのアクティブスキャンルールがこのアドオンに含まれています:

バックアップファイルの露見

Webサーバー上の一般的な名前のバックアップファイルをスキャンします。これらのファイルは機密情報を漏洩する可能性があります。

最新のコード: BackupFileDisclosureScanRule.java
アラートID: 10095

Cookieスラック検出

Cookieをテストし、省略してもレスポンスサイズに影響しないものを検出します。特に「session」や「userid」という名前を含むCookieを対象とします。

最新のコード: SlackerCookieDetector.java
アラートID: 90027

CORSヘッダー

このルールはCORSヘッダーの識別とCORS設定ミスの検出を試みます。 すべてのオリジン、より脆弱なプロトコルのオリジン、またはnullオリジンを許可している場合、CORSは設定ミスと見なされます。

最新のコード: CorsScanRule.java
アラートID: 40040

クロスドメイン設定ミス

Webサーバーが悪意のあるサードパーティサービスなどからのクロスドメインアクセスを許可するように設定されているかどうかをチェックします。 現在、Adobeの crossdomain.xml とSilverLightの clientaccesspolicy.xml でワイルドカードをチェックします。

最新のコード: CrossDomainScanRule.java
アラートID: 20016

CSRFトークン

HTMLベースのメッセージでAnti-CSRFトークンの存在をスキャンします。
Anti-CSRFトークンを含んでいないと思われるリクエストに対してアラートを発行します。
HIGH アラートしきい値では、スコープ内のメッセージのみをスキャンします。
バージョン2.5.0以降では、オプションの「ルール設定」パネルから rules.csrf.ignorelist パラメーターでカンマ区切りの識別子リストを指定できます。 これらの識別子のいずれかに一致する name または ID を持つFORMは、Anti-CSRFトークンの欠落をスキャンする際に無視されます。 この機能は、検索フォームなど、安全であることが確認されているFORMを無視する場合にのみ使用してください。

注: GETリクエストは LOW アラートしきい値でのみ評価されます。

最新のコード: CsrfTokenScanRule.java
アラートID: 20012

指数関数的エンティティ展開(Billion Laughs攻撃)

このルールは、XMLまたはYAMLファイルを受け入れるサーバーで「Billion Laughs」脆弱性の識別を試みます。

最新のコード: ExponentialEntityExpansionScanRule.java
アラートID: 40044

ELインジェクション

Webアプリケーションが式言語 (EL) インジェクション攻撃の影響を受けるかどうかをチェックします。この攻撃は、アプリケーションが実行前に意図したELステートメントを変更する可能性のある特殊要素を十分に無害化できない場合に発生します。

最新のコード: ExpressionLanguageInjectionScanRule.java
アラートID: 90025

HTTPのみのサイト

このアクティブスキャンルールは、HTTPサイトがHTTPSで提供されているかどうかをチェックします。

最新のコード: HttpOnlySiteScanRule.java
アラートID: 10106

HttPoxy - Proxyヘッダーの誤用

このアクティブスキャンルールは、サイトがリクエストで指定されたHTTP Proxyヘッダーを使用しているかどうかをチェックします。
ランダムに割り当てられた空きポートですべてのインターフェースをリッスンするHTTPプロキシを設定します。 その後、利用可能な各IPアドレスとリッスンしているポートにHTTP Proxyヘッダーを設定した一連のリクエストをターゲットサーバーに送信します。 新しいポートでリクエストが受信された場合、サーバーは脆弱である可能性が非常に高くなります。
重要 - ZAPが実行されているコンピュータは任意のポートで着信リクエストを受け入れる必要があります。ファイアウォールが着信接続を妨げる場合、このルールは機能しません。

最新のコード: HttPoxyScanRule.java
アラートID: 10107

HTTPSコンテンツがHTTP経由でアクセス可能

このアクティブスキャンルールは、元々HTTPS (SSL/TLS) 経由でアクセスされたコンテンツにHTTP経由でアクセスすることを試みます。

最新のコード: HttpsAsHttpScanRule.java
アラートID: 10047

HTTPパラメーター汚染 (HPP)

同じ名前の重複または多数のHTTPパラメーターを提供すると、アプリケーションやWebサイトが意図しない方法で値を解釈する可能性があります。 これらの効果を利用することで、悪意のある個人は入力検証をバイパスしたり、エラーをトリガーしたり、内部変数の値を変更したりできる可能性があります。 重複パラメーターの処理には、クライアント (ブラウザ) とサーバーの両方に影響を与える違いがあります。

最新のコード: HttpParameterPollutionScanRule.java
アラートID: 20014

安全でないHTTPメソッド

URLに対して有効になっている既知の安全でないHTTPメソッドを検出 (およびスキャン設定に応じて悪用) します。 デフォルトではPUT/PATCHを安全でないメソッドと見なしますが、レスポンスでJSONやXMLなどの構造化データを返す場合は許可します。

最新のコード: InsecureHttpMethodScanRule.java
アラートID: 90028

整数オーバーフローエラー

コンパイル済みコードの整数オーバーフローによってWebサーバーをクラッシュさせる兆候を探します。 異常なレスポンスを引き起こすように設計された複数の整数文字列を送信します。

最新のコード: IntegerOverflowScanRule.java
アラートID: 30003

アウトオブバンドXSS

このルールはアウトオブバンドXSS脆弱性の発見を試みます。

最新のコード: OutOfBandXssScanRule.java
アラートID: 40031.

プロキシ情報の露見

プロキシサーバーの検出とフィンガープリントを試みます。この情報は、潜在的な攻撃者が以下を判断するのに役立ちます:

最新のコード: ProxyDisclosureScanRule.java
アラートID: 40025

相対パス混乱

Webサーバーが、URLの正しい「相対パス」について混乱を招く可能性のある方法で、曖昧なURLに対するレスポンスを提供するように設定されているかどうかをテストします。 レスポンス内でリソース (CSS、画像など) が絶対URLではなく相対URLで参照されている場合、攻撃者はWebブラウザを騙して「クロスコンテンツ」レスポンスを寛容に解析させる可能性があります (フレーミングなどの技術を使用)。 これにより、WebブラウザがHTMLをCSS (または他のコンテンツタイプ) として誤って解釈し、XSS脆弱性につながる可能性があります。

最新のコード: RelativePathConfusionScanRule.java
アラートID: 10051

セッション固定

セッション固定が可能である可能性があります。 この問題がログインURL(ユーザーがアプリケーションに対して自身を認証する場所)で発生する場合、攻撃者は固定されたセッションIDとともにURLを被害者に提供し、後でその与えられたセッションIDを使用して被害者のIDを引き受けることができます。 この問題が非ログインページで発生する場合、URLと固定されたセッションIDは、攻撃者が認証されていないユーザーのアクションを追跡するためにのみ使用される可能性があります。 脆弱性がURL (GET) パラメーターではなくCookieフィールドまたはフォームフィールド (POSTパラメーター) で発生する場合、脆弱性を悪用できるようにするには、被害者のブラウザでCookieフィールドを設定するために他の脆弱性も必要になる可能性があります。

最新のコード: SessionFixationScanRule.java
アラートID: 40013

ShellShock - CVE-2014-6271

このルールは、CVE-2014-6271 (別名 ShellShock) に対して脆弱なサーバーを検出するために2つの攻撃を実行します。
1つ目はシンプルな反射型攻撃で、2つ目は時間ベースの攻撃です。

バージョン2.5.0以降では、オプションの「ルール設定」パネルから rules.common.sleep パラメーターを変更することで、攻撃に使用される時間の長さを変更できます。

最新のコード: ShellShockScanRule.java
アラートID: 10048

ソースコード漏洩 - SVN

Subversionソースコードリポジトリのメタデータを使用して、Webサーバー上のソースコードを含むファイルをスキャンします。
LOW アラートしきい値では、潜在的なコードを識別するために必要な証拠が少なくなり、誤検出が増える可能性があります。

最新のコード: SourceCodeDisclosureSvnScanRule.java
アラートID: 42

ソースコード漏洩 - ファイルインクルージョン

ローカルファイルインクルージョン技術を使用して、Webサーバー上のソースコードを含むファイルをスキャンします。 クライアントまたはサーバーエラーのレスポンスステータスコードが元々返されたメッセージはスキップされます。

最新のコード: SourceCodeDisclosureFileInclusionScanRule.java
アラートID: 43

ソースコード漏洩 - Git

Gitソースコードリポジトリのメタデータを使用して、Webサーバー上のソースコードを含むファイルをスキャンします。

最新のコード: SourceCodeDisclosureGitScanRule.java
アラートID: 41

サーバーサイドリクエストフォージェリ

このルールは、OASTアドオンからのアウトオブバンドペイロードをリクエストパラメーターに注入することで、サーバーサイドリクエストフォージェリ脆弱性の発見を試みます。

参照: OAST.

最新のコード: SsrfScanRule.java
アラートID: 40046

Text4shell (CVE-2022-42889)

このルールはText4shell (CVE-2022-42889) 脆弱性の発見を試みます。 アラートオブバンドペイロードを生成し、DNS相互作用を検証するために、OASTアドオンに依存しています。

参照: OAST.

最新のコード: Text4ShellScanRule.java
アラートID: 40047

ユーザー名列挙

有効なユーザー名と無効なユーザー名が提供された場合のHTTPレスポンスの違いに基づいて、ユーザー名を列挙できる可能性があります。 これにより、システムに対するパスワードブルートフォース攻撃の成功確率が大幅に向上します。 ZAPの「攻撃強度」オプションを上げることで、誤検出を最小限に抑えられる場合があります。 実際に脆弱性であるかどうかを確認するには、「その他の情報」フィールドを手動で確認してください。 このルールは、フォームベース認証を使用するコンテキストが定義されていない場合はスキップされ、コンテキストのログインURLとして識別されたURLに対してのみ実行されます。

最新のコード: UsernameEnumerationScanRule.java
アラートID: 40023.