我已经编写了一个用于检查表单中正确密码的perl程序。 我的算法是在提交表单之前获取登录页面的内容 并在提交表单后将其与登录页面的内容进行比较。 当我在该页面中手动输入错误的密码时,页面内容会发生变化 但在我的剧本中,它始终是平等的。 我希望你明白我想做什么。 这是我的代码:
#!/usr/bin/perl
use WWW::Mechanize;
print "Usage : perl script.pl username passwordlist-path\n";
$username = $ARGV[0];
$password = $ARGV[1];
open(password , $password);
@passworddata = <password>;
close(password);
# print @passworddata;
$mech = WWW::Mechanize->new();
$url = "http://www.mysite.com/loginpage";
$mech ->get($url);
$u1 = $mech->content;
$mech->submit_form(
form_number => 1,
fields => { 'userfield' => $username,
'passfield' => @passworddate[0] },
button => 'Submitfield'
);
$u2 = $mech->content;
if ($u2 eq $u1) { print "Not Cracked\n"; }
else { print "Cracked\n"; }
答案 0 :(得分:1)
您的$u1
和$u2
的日期相同。 $u2
应该是提交的表单的回复。
$resp = $mech->submit_form
$u2 = $resp->content();