web-dev-qa-db-ja.com

フォームベースの認証でJSON投稿データを提供する

ZAPは、ログイン(POST)リクエストをログパターンに変換する方法を提供します(コンテキストメニューの[...としてマーク]を使用)。

データが"user=toto&psswd=t@T°"のような場合は、次のように変換されます

"user={%username%}&psswd={%password%}"

キーワードuserpsswdについて話した後。

ただし、データが{"user":"toto","psswd":"t@T°"}などのjsonオブジェクトであり、元のリクエストのコンテンツタイプで指定されている場合でも、ZAPは使用できるキーワードを検出できず、{"user":"toto","psswd":"t@T°"}を提案しますユーザー名とパスワードの両方のキーワードとして...したがって、正しいログインパターンを定義できません。

ZAPを使用したフォームベースの認証を通じて処理するためのヒントを知っていますか?

1
Marvin

残念ながら、現時点では、JSONオブジェクトを介して認証を処理するための優れた機能リクエストがあります: https://github.com/zaproxy/zaproxy/issues/2439

1つの代替方法は スクリプト化された認証を記録する です。


更新

前述の機能が利用可能になりました: https://github.com/zaproxy/zaproxy/pull/4624

使用したい場合は、毎週使用する必要があります: https://github.com/zaproxy/zaproxy/wiki/Downloads#zap-weekly

または、次の完全リリース(おそらく2.8.0)を待ちます。

新しいJSON認証機能のヘルプコンテンツを更新するための対応するPRは次のとおりです。 https://github.com/zaproxy/zap-core-help/pull/188/files 確認したい場合それを出します。

フォームベースの認証と同じように設定します。ログインIDまたはログアウトID(またはその両方)を必ず定義してください。ここに沿ってあなたに役立ついくつかのスクリーンショットがあります:

コンテキストの認証を手動で設定します: Context Authentication Settings

サイトツリーのコンテキストメニューを使用して設定します。 Flag a JSON request as the Context's "Login Request"

Select the associated username and password fields

以下は、認証のセットアップに役立つ追加のヘルプリンクです。 https://github.com/zaproxy/zaproxy/wiki/FAQformauth

1
kingthorin