hydra
を使用するにはどうすればよいですか?これまでに行ったこと:
HTTP authentication が設定されたフォルダでhydraを正常に使用しました:
http://localhost/test/authtest/
ユーザーadmin
とパスワード1234
、私は正常にパスワードを見つけました:
hydra -l admin -x 1:5:1 -t 1 -f -vV 127.0.0.1 http-get /test/authtest/
しかし、どのように実行を試行する必要がありますかWebフォーム上のように
http://127.0.0.1/test/login.php?&username=admin&password=1234
基本的に、次の2つを指定する必要があります。
1つ目は、URLの^USER^
や^PASS^
などのトークンを使用して、テスト対象のユーザー名とパスワードに置き換えられます。 2つ目は、返されたページに対して文字列照合を行うhydraによって行われます。 「Bad password」などの失敗条件、または「logged in」などの成功条件をテストできます。
次に例を示します。
hydra 127.0.0.1 http-form-get '/test/login.php?username=^USER^&password=^PASS^:Bad password'
ログインが成功したかどうかのテスト条件として、「無効なパスワード」の代わりにC=cookie_name
を使用して設定されたCookieまたはH=header_name
を使用したHTTPヘッダーをテストすることもできます。
ログインフォームがGETではなくPOSTを使用する場合(多くの場合)、http-form-post "protocol"を使用する必要があります。また、クエリ文字列の:
ではなく、?
を使用してURLとPOSTパラメータを分離する必要があります。httpsのバリエーションもあり、 (当然のことながら)https-
ではなくhttp-
が前に付きます。