web-dev-qa-db-ja.com

Hydra:HTTPフォームをブルートフォースにします。すべての引数が提供されますが、ログインエラーには他の文字列形式があり、大きすぎます

Hydraを使用してログインHTTPフォームをブルートフォースで強制している(方法:投稿)が、誤検知(パスワードが無効)が発生する

理由はわかっていると思いますが、その処理方法がわかりません。リクエストが失敗すると、「é」として文字列を含む次の失敗したメッセージが生成されます。

(エラーは画面にのみ表示され、URLには何も表示されません。)"Desolé: Vos détails de connexion n'ont pas été réconnus, réessayer."(これは、無効な資格情報を送信したときに表示されるエラーです。

文字列の長さと形式がHydraの応答方法に影響することを読みました。これは私が実行するコマンドです:

hydra -l 588455 -P passwords.txt site.com http-post-form "/auth/login:username=^USER^&password=^PASS^:Désolé : Vos détails de connexion n'ont pas été reconnus, réessayer."

だから私の質問は次のとおりです:

1)上記のコマンドに関して何か問題がありますか?

2)失敗したエラーが長すぎて "é、:"の文字が含まれているため、 "Désolé"のみなど、エラー文字列の一部のみを認識するようにHydraを適応できますか?

3)ログイン試行が有効な場合、成功/失敗は再調整されず、ユーザーがsite.com/authからsite.com/homeにリダイレクトされるだけです。したがって、ユーザーが/ homeにリダイレクトされたときにHydraに通知できますかパスワードが有効かどうかを決定しますか?はいの場合、どうすればよいですか?

4)クッキー引数を使用してログインが成功したかどうかを確認できることをHydraのドキュメントで読みました。皆様のご理解とご協力のほどよろしくお願い申し上げます。

ログインに成功すると、次のことが行われます。リダイレクト http://site.com/profile ansはCookieを設定します。ci_session = e6971c0d444819e261cbfa89182f5da10ccc8bb0

1
Murphy Adam

通常、一致文字列は、誤ったネガティブ/ポジティブを防止できるだけの長さにする必要があります。文字列にアクセント付き文字が含まれている場合、ランディングページがそれらをどのようにレンダリングするかを確認することも強くお勧めします。 Hydraは、ブラウザーがどのようにレンダリングするかではなく、HTMLソースを調べます。 éé HTMLソースコード内。

さらに、ログインがsuccessfulログインでのみリダイレクトする場合、否定的なケース(ログイン)ではなく、肯定的なケース(ログイン成功)を確認する価値があります。失敗しました)。 Hydraはリダイレクトに従いますので、ランディングページにのみ表示されるテキスト(たとえば、「ログアウト」ボタンの存在)を一致させることができます。ポジティブテストケースの使用に関する詳細は here で確認できます。

Cookieマッチングについては、Hydra 検索結果に表示されます全体HTTP応答、ヘッダーが含まれます。そうは言っても、あなたが投稿したCookieの値は役に立たないでしょう。これは、Webサイトの各訪問者に固有であることを意図したセッションCookieです。ほとんどのWebサイトは、訪問者がログインしていない場合でもセッションCookieを設定します。これは、成功したテストログインに割り当てられたセッションCookieである可能性がありますが、再び同じ値になることはありません。

1
Mr. Llama