2つの別々のパスワード(90行)とユーザー名(200行)のファイルを使用して、OWASP ZAPを使用してログインページをブルートフォースし、ブルートフォースPOSTリクエストを次のようなパスワードで注文します。
user001:pass00
user002:pass00
....
user200:pass00
user001:pass01
user002:pass01
etc.
ワードリストのファジングはZAPで機能しますが、この特定の順序が発生することはありません。代わりに、ZAPは各ユーザー名ですべてのパスワードを試行します。
オプションFuzzer:Options:Length/Breadthを最初に変更してみましたが、効果がありません。
私の仮定は、POSTパラメータが表示される順序でZAPがペイロードを反復処理していることですが、Fuzzerで実際のPOSTリクエストを編集してそれらを並べ替えることはできません。
さらに、Fuzzerを開始すると、一時停止または停止することしかできず、再構成することはできません。
これについてのあらゆる洞察をいただければ幸いです。
tl; dr-ユーザー名とパスワードのパラメーターを見つけるためにZAPを使用し、次に-uスイッチを指定したHydraをブルートフォースログインにして、代わりにユーザーごとに繰り返すあなたが尋ねたようにパスワードの。
編集:Cluster Bombを使用してBurp Intruderを循環させることもできます。かなりうまく動作しますが、メモリが正しく機能する場合、Hydraほど高速ではありません。 ZAPにも同様の機能があるかもしれませんが、私はあまり詳しくありません。最後のAttack Type
Burpのサイトはこちら を参照してください。
詳細-
THC Hydraを「-u」スイッチと一緒に使用します。このツールは非常にシンプルで、デフォルトで見ているものを実現します。 Kaliにプリインストールされており、ほとんどのUnixベースのシステムにパッケージをインストールできます。
Hydraのmanページから、-uスイッチは「パスワードではなくユーザーをループ」します。これは、各ユーザーに対してpass02を試行する前に、200ユーザーすべてに対してpass01を試行します。コマンドの例は次のとおりです。
hydra www.target-url.com http-form-post -L usernames.txt -P passwords.txt "/path/to/login:username=^USER^&password=^PASS^:Incorrect Login" -u -V -o hydra_output.txt
内訳:「ヒドラ」はプログラムの名前です。 「www.target-url.com」はターゲットのアドレスですが、代わりにIPを使用することもできます(ポートを指定します)。 「Http-form-post」は、ブルートフォースにしようとしているサービスです。 "-L"と "-P"は一目瞭然で、ログインユーザー名とパスワードファイルです。
二重引用符の次の部分には、ZAPプロキシを使用して、またはソースコードを表示して取得できる3つのパラメーターがあり、「:」で区切られています。最初はパスで、その後にコロンと、ZAPによって識別されるユーザー名とパスワードのパラメーターが続きます(私はBurpが好きですが、ZAPがうまくいきます)。 Hydraは "^ USER ^"および "^ PASS ^"文字列をユーザー/パスファイルの値に置き換えます。
最後に、前述のように、-uはパスワードではなくユーザー名を反復処理します。 "-V"を指定すると、すべてのパスワード推測がstdoutに表示され、正常に機能していることを確認できます。-oを指定すると、成功したパスワード推測がhydra_output.txtファイルに出力されます。
これがお役に立てば幸いです。私はZAPにあまり詳しくありませんが、Burp Suiteの無料版は私の知る限りでは対応製品であり、プロキシを使用する必要がある場合は、Burp Intruderに必要な機能が備わっているはずです。