无论是否成功,urllib2身份验证都不会返回

时间:2013-08-15 05:29:30

标签: python authentication python-2.7 urllib2 autologin

我使用的是minecraft.net作为例子:

我也试过(https://www.facebook.com/login.php)和 (https://www.facebook.com/login.php)。

我的目标是让代码告诉我密码是正确还是不正确(显然)。

是我正在键入的链接还是我的代码?如果是我的代码,我做错了什么?我尝试了很多不同的脚本。

有效的代码很受欢迎,但我完全可以告诉我如何解决这个问题!

import urllib2
import os
os.system("color 09")
print "URL To Login To: "
URL = raw_input("> ")
os.system("cls")
print "User Name To Login With: "
username = raw_input("> ")
os.system("cls")
print "Password As Test: "
password = raw_input("> ")
os.system("cls")

import urllib2, base64

request = urllib2.Request(URL)
base64string = base64.encodestring('%s:%s' % (username, password)).replace('\n', '')
request.add_header("Authorization", "Basic %s" % base64string)   
try:
    result = urllib2.urlopen(request)
    print "Password Recovered: " + password
except:
    print "Login Failed: "

1 个答案:

答案 0 :(得分:2)

您发现的整个密码/暴露失败逻辑基于是否收到有效的HTTP响应。

您收到Brute Failed消息,因为login.php页面不存在(因此返回404错误)。

您获取为其他页面找到的密码,因为它确实存在,并返回有效的HTTP响应,这是urllib2所期望的。

毫无疑问,您收到了有效的HTTP回复,说明您的密码错误。

您需要始终检查有效的HTTP响应,然后添加进一步的检查以查看是否有“错误密码”或“密码”回复。您可以通过在共振体中搜索所需文本来完成此操作。