Advertisement
Guest User

Untitled

a guest
Feb 28th, 2019
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.32 KB | None | 0 0
  1. import csv
  2. from lxml import html
  3.  
  4. import requests
  5.  
  6.  
  7. def check_for_pwned_passwords(rows):
  8. csrf_token = 'bc1d0ffb24060741fd2e0a8e840c5061525264'
  9. login = 'solononforever'
  10. password = 'Password1'
  11. with requests.Session() as session:
  12. session.post('https://snusbase.com/login', data={'login': login, 'password': password, 'action_login': ''},
  13. timeout=10)
  14.  
  15. result = []
  16.  
  17. for i, row in enumerate(rows):
  18. row['PASSWORDS'] = ''
  19. try:
  20. print('>>> Checking ' + str(i) + ' of ' + str(len(rows)))
  21. if 'EMAIL' in row and row['EMAIL']:
  22. email = row['EMAIL']
  23. text = session.post('https://snusbase.com/search', data={
  24. 'term': email,
  25. 'csrf_token': csrf_token,
  26. 'searchtype': 'email'}).text
  27. document = html.fromstring(text)
  28. passwords = []
  29. for div_container in document.xpath(".//div[@class='databaselist']"):
  30. #username = div_container.xpath(".//b[contains(text(), 'username')]/following-sibling::span[1]/text()")
  31. #if username:
  32. # credential['username'] = username[0]
  33. password = div_container.xpath(".//b[contains(text(), 'password')]/following-sibling::span[1]/text()")
  34. if password:
  35. passwords.append(password[0])
  36. row['PASSWORDS'] = ' , '.join(passwords)
  37. except Exception as e:
  38. print(str(e))
  39. result.append(row)
  40.  
  41. return result
  42.  
  43.  
  44. if __name__ == '__main__':
  45. emails = []
  46. rows = []
  47. with open('emails.csv', newline='') as csvfile:
  48. reader = csv.DictReader(csvfile)
  49. for row in reader:
  50. rows.append(row)
  51.  
  52. result = check_for_pwned_passwords(rows)
  53. if result:
  54. with open('result.csv', 'w', newline='\n') as csvfile:
  55. dict_writer = csv.DictWriter(csvfile, fieldnames=result[0].keys(), delimiter=',',
  56. quotechar='"', quoting=csv.QUOTE_MINIMAL)
  57. dict_writer.writeheader()
  58. for row in result:
  59. dict_writer.writerow(row)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement