-
Notifications
You must be signed in to change notification settings - Fork 1
/
bigdig.py
57 lines (47 loc) · 1.9 KB
/
bigdig.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
# from cores import *
import importlib
from pyfiglet import Figlet
import shutil
from cores import controller
from cores import validate
# from modules import *
from cores.argutils import core_args
import sys
def show_banner():
f = Figlet(font='standard')
print(*[x.center(shutil.get_terminal_size().columns) for x in f.renderText("b1gdIg").split("\n")],sep="\n")
print("\033[91m--------\033[32m\033[32mAuthor:\033[0m \033[96mNguyễn Hoàng Thành\033[91m--------\033[0m")
print("\033[91m---\033[32mEmail: \033[[email protected]\033[91m---\033[0m")
# print("-----[ Gitlab:\033[94m https://nest.parrotsec.org/packages/tools/pxss/\033[0m ]---")
args = core_args().parse_args()
args.point_inject = validate.check_param(args.point_inject)
args.headers = validate.check_headers(args.headers, args.user_agent, args.cookie)
validate.list_modules(args.list)
class UserOpts(object):
def __init__(self):
self.module = args.module
self.method = args.method
self.urls = validate.check_target(args.url, args.list_urls)
self.point_inject = args.point_inject
self.headers = args.headers
self.data = args.data
self.proxy = args.proxy
self.payload = ""
if __name__ == "__main__":
show_banner()
flags = core_args()
try:
sys.argv[1]
main = UserOpts()
if main.module == "sqli":
response = controller.run(main.module, main.method, main.urls, main.headers, main.data, main.point_inject,
main.proxy)
elif main.module == "xss":
module = importlib.import_module("modules." + str(main.module))
module.create_session(args)
elif main.module != None:
print("[x] Module not found!")
else:
print("[x] The following arguments are required: -m/--module")
except IndexError:
flags.print_help()