Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import csv
- from lxml import html
- import requests
- def check_for_pwned_passwords(rows):
- csrf_token = 'bc1d0ffb24060741fd2e0a8e840c5061525264'
- login = 'solononforever'
- password = 'Password1'
- with requests.Session() as session:
- session.post('https://snusbase.com/login', data={'login': login, 'password': password, 'action_login': ''},
- timeout=10)
- result = []
- for i, row in enumerate(rows):
- row['PASSWORDS'] = ''
- try:
- print('>>> Checking ' + str(i) + ' of ' + str(len(rows)))
- if 'EMAIL' in row and row['EMAIL']:
- email = row['EMAIL']
- text = session.post('https://snusbase.com/search', data={
- 'term': email,
- 'csrf_token': csrf_token,
- 'searchtype': 'email'}).text
- document = html.fromstring(text)
- passwords = []
- for div_container in document.xpath(".//div[@class='databaselist']"):
- #username = div_container.xpath(".//b[contains(text(), 'username')]/following-sibling::span[1]/text()")
- #if username:
- # credential['username'] = username[0]
- password = div_container.xpath(".//b[contains(text(), 'password')]/following-sibling::span[1]/text()")
- if password:
- passwords.append(password[0])
- row['PASSWORDS'] = ' , '.join(passwords)
- except Exception as e:
- print(str(e))
- result.append(row)
- return result
- if __name__ == '__main__':
- emails = []
- rows = []
- with open('emails.csv', newline='') as csvfile:
- reader = csv.DictReader(csvfile)
- for row in reader:
- rows.append(row)
- result = check_for_pwned_passwords(rows)
- if result:
- with open('result.csv', 'w', newline='\n') as csvfile:
- dict_writer = csv.DictWriter(csvfile, fieldnames=result[0].keys(), delimiter=',',
- quotechar='"', quoting=csv.QUOTE_MINIMAL)
- dict_writer.writeheader()
- for row in result:
- dict_writer.writerow(row)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement