日本語

フロントエンドアプリの認証済みスキャン

このガイドでは、Aikido で認証付きドメインスキャンを設定し、徹底的かつ安全な評価を行うための手順を説明します。

この機能は Free プランではご利用いただけません。

ユースケース

  • ウェブサイトの保護された領域に対して包括的なセキュリティ評価を行います。
  • ドメインの認証が必要なセクションにある脆弱性を特定します。

ドメインでの認証の設定

ステップ 1: Domains Overview に移動し、対象のドメインの三点リーダーをクリックしてアクションメニューを開きます。Authenticate Domain を選択します。

ドメインのスキャン、設定、認証、削除のオプションを含むドメインアクションメニュー。

ステップ 2: ドメイン認証用の URL とメールアドレス/パスワードを入力します。Test をクリックすると、Aikido がその認証情報でドメインにアクセスできるかどうかを確認します。

ログイン認証情報と確認オプションを含む、ドメインのフォームベース認証の設定画面。

ステップ 3. テストが成功したら、Confirm Authentication をクリックできます。Aikido が徹底的なスキャンを実行し、すべての結果が Aikido に表示されます。

スキャン用の認証情報は PKCS1 暗号化を使用して安全に保存されます

認証オプション

フォームによるログイン

ドメイン認証用のURLとメールアドレス/パスワードを入力します。Testをクリックすると、Aikidoがその認証情報でドメインにアクセスできるかどうかを確認します。

二要素認証が有効な場合は、ワンタイムパスワードの情報も入力できます。OTP URLとその仕組みの詳細については、ドキュメントを参照してください。

  • Microsoft / Google SSOは現在サポートされていません。回避策として、手動で認証し、カスタムヘッダーのCookieヘッダーを使用して有効なセッションを渡すことができます。
  • お使いのケースがサポートされていませんか?チャットでお知らせいただければ、検討いたします!

フォームベースのログイン認証情報を設定するドメイン認証設定画面。

Aikidoは以下のルールに従ってフォームの送信を試みます:

  1. GoogleやFacebookなどの一般的なOAuthオプションを除外したうえで、type=submitを持つ表示されているボタンまたは入力フィールドを探します
  2. ラベルまたはテキストに基づいてボタンを探します。login、log in、submit、sign inなどと同一または類似のテキストを探します。これは複数の言語で行われます。
  3. HTML IDのセットに基づいてボタンを探します(例:id=form-submit)
  4. ページ上で最初に表示されているボタンを探します

カスタムヘッダー

エンドポイントが、作成後に変更されるべきでない固定のキー、Cookie、またはトークンを受け付ける場合は、このオプションを使用してカスタムヘッダーとして追加できます。

ユースケース:

  • Cookie: Cookie ヘッダーを設定します。

    Cookie: sessionId=38afes7a8
  • JWT Bearer トークン: Authorization ヘッダーを設定します。

    Authorization: Bearer <token>

AI Agent によるログイン(ベータ版)

AI Agent は LLM を使用して実際のブラウザセッションを操作します。人間と同じように、指定された指示に従って認証プロセスを完了します。これは次のような場合に適しています:

  • フォームベースのログイン
  • 静的 OTP またはワンタイムコード
  • 複数ステップの認証フロー
  • カスタムまたは非標準のログイン画面

認証情報や必要な操作を含め、明確なステップごとの指示を記述してください。エージェントは、詳細な設定を必要とせずに、リダイレクト、動的ページ、中間ステップを処理できます。ほとんどの場合、短くシンプルな指示で十分です。

認証に関する問題のトラブルシューティング

フォームによるログイン

Aikido スキャナーは、固定された識別子のセットを使用してユーザー名とパスワードのフィールドを判別します。メールアドレスまたはユーザー名のフィールドについて、入力フィールドの id または name パラメータが次のいずれかの値になっているか確認してください。

"email", "username", "Username", "login-email", "EmailOrUsername", 
"UserNameOrEmail", "username_login", "txtUsername", "user_email", "email-input'

パスワードフィールドは、type が password の入力フィールドを探すことで検出されます。

input[type="password"]

送信ボタンは、type が submit のボタンまたは入力フィールドを探すことで検出されます。

button[type="submit"]
input[type="submit"]

それでも問題が解決しない場合は、お気軽にサポートまでお問い合わせください。