-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathScammerSpammer.py
105 lines (86 loc) · 3.33 KB
/
ScammerSpammer.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#!/usr/bin/python3
import requests
import threading
import zipfile
import random
import os
import csv
class config:
def __init__(self):
pass
# Change configuration settings here.
config.zipFile = "fake-details.zip"
config.fakeDetailsFile = "FakeNameGenerator.com-100000-UK,US,AUS,CAN.csv"
config.fakeDetailsLength = 100000
config.multiThreading = True
config.multiThreads = 50
class fakePerson:
def __init__(self):
self.details = fakeDetails[random.randint(0,config.fakeDetailsLength-1)]
self.gender = self.details['Gender']
self.title = self.details['Title']
self.firstName = self.details['GivenName']
self.lastName = self.details['Surname']
self.address = self.details['StreetAddress']
self.city = self.details['City']
self.state = self.details['StateFull']
self.postal = self.details['ZipCode']
self.countrycode = self.details['Country']
self.country = self.details['CountryFull']
self.email = self.details['EmailAddress']
self.username = self.details['Username']
self.password = self.details['Password']
self.browseragent = self.details['BrowserUserAgent']
self.telephone = self.details['TelephoneNumber']
self.telephonecode = self.details['TelephoneCountryCode']
self.mothersmaiden = self.details['MothersMaiden']
self.birthday = self.details['Birthday']
self.age = self.details['Age']
self.cctype = self.details['CCType']
self.ccnumber = self.details['CCNumber']
self.cvv2 = self.details['CVV2']
self.ccexpires = self.details['CCExpires']
self.nationalid = self.details['NationalID']
self.favouritecolor = self.details['Color']
self.occupation = self.details['Occupation']
self.comany = self.details['Company']
def make_request():
while True:
person = fakePerson()
### Setup your Request Here. ###
url = ''
data = {}
################################
response = requests.post(url, headers = {'User-Agent':person.browseragent}, data = data).text
print("[SEND] {}\n[RECIEVED] {}".format(str(data),response))
def multi_threading():
threads = []
for i in range(config.multiThreads):
t = threading.Thread(target=make_request())
t.daemon = True
threads.append(t)
for i in range(config.multiThreads):
threads[i].start()
for i in range(config.multiThreads):
threads[i].join()
def main():
global fakeDetails
if config.zipFile != "":
if not os.path.isfile(config.zipFile.split(".")[0]+"\\"+config.fakeDetailsFile):
print("[STATUS] Extracting archive...")
with zipfile.ZipFile(config.zipFile) as zf:
zf.extractall(config.zipFile.split(".")[0])
del zf
print("[STATUS] Archive extracted successfully!")
print("[STATUS] Reading details file...")
with open(config.zipFile.split(".")[0]+"\\"+config.fakeDetailsFile, newline='') as f:
reader = csv.DictReader(f)
fakeDetails = list(reader)
f.close()
print("[STATUS] Details file read successfully!")
print("Starting attack...")
if config.multiThreading: multi_threading()
else:
while True: make_request()
if __name__ == '__main__':
main()