patch for an issue where when a proxy is passed without the protocol it will create an issue (issue #118), also fixes an issue with the sqlmap arguments you no longer need to pass 'true' or 'false' it will do it automatically for you (issue #123)

This commit is contained in:
ekultek 2017-10-22 19:59:31 -05:00
parent 977564ae62
commit d590ca22db
3 changed files with 36 additions and 15 deletions

View file

@ -1,7 +1,6 @@
d41d8cd98f00b204e9800998ecf8427e ./checksum.txt
caa0444d437bc23ae47436e87e868e3e ./README.md
e6c13a69a5290cdb1a8e5e1c4dd19b7d ./requirements.txt
12a2391213ee3385376784fefb38635a ./zeus.py
6767c6b6772d2a02e2f207698d3b6794 ./zeus.py
6ad5f22ec4a6f8324bfb1b01ab6d51ec ./etc/scripts/cleanup.sh
155c9482f690f1482f324a7ffd8b8098 ./etc/scripts/fix_pie.sh
642a77905d8bb4e5533e0e9c2137c0fa ./etc/agents.txt
@ -46,7 +45,7 @@ c5ebb0c56c9ae3b9a72a14e3f05afa16 ./lib/attacks/intel_me/__init__.py
d41d8cd98f00b204e9800998ecf8427e ./lib/core/__init__.py
3e41c556294fba97ac7a686369e0dcc0 ./lib/core/settings.py
d41d8cd98f00b204e9800998ecf8427e ./var/google_search/__init__.py
d28b1b648539106a488067b951a9dd7c ./var/google_search/search.py
b8761604c5d4f88ae653526057491a5f ./var/google_search/search.py
d41d8cd98f00b204e9800998ecf8427e ./var/__init__.py
66b11aa388ea909de7b212341259a318 ./var/auto_issue/oauth
d41d8cd98f00b204e9800998ecf8427e ./var/auto_issue/__init__.py

View file

@ -228,11 +228,11 @@ def parse_search_results(
if not parse_webcache:
logger.warning(set_color(
"will not parse webcache URLs...", level=30
"will not parse webcache URL's (to parse webcache pass -W)...", level=30
))
if not pull_all:
logger.warning(set_color(
"only pulling URLs with GET(query) parameters...", level=30
"only pulling URLs with GET(query) parameters (to pull all URL's pass -E)...", level=30
))
user_agent_info = "adjusting user-agent header to {}..."

42
zeus.py
View file

@ -13,13 +13,18 @@ except ImportError:
from var import blackwidow
from var.google_search import search
from var.auto_issue.github import request_issue_creation
from lib.core.errors import InvalidInputProvided
from lib.attacks.admin_panel_finder import main
from lib.attacks.xss_scan import main_xss
from lib.attacks.nmap_scan.nmap_opts import NMAP_API_OPTS
from lib.attacks.sqlmap_scan.sqlmap_opts import SQLMAP_API_OPTIONS
from lib.attacks.whois_lookup.whois import whois_lookup_main
from lib.core.errors import (
InvalidInputProvided,
InvalidProxyType
)
from lib.attacks import (
nmap_scan,
sqlmap_scan,
@ -320,17 +325,28 @@ if __name__ == "__main__":
retval = []
splitter = {"sqlmap": ",", "nmap": "|"}
if sqlmap:
warn_msg = "option '{}' is not recognized by sqlmap API, skipping..."
if opt.sqlmapArguments is not None:
for line in opt.sqlmapArguments.split(splitter["sqlmap"]):
to_use = line.strip().split(" ")
option = (to_use[0], to_use[1])
if to_use[0] in SQLMAP_API_OPTIONS:
retval.append(option)
else:
logger.warning(set_color(
"option '{}' is not recognized by sqlmap API, skipping...".format(option[0]),
level=30
))
try:
to_use = line.strip().split(" ")
option = (to_use[0], to_use[1])
if to_use[0] in SQLMAP_API_OPTIONS:
retval.append(option)
else:
logger.warning(set_color(
warn_msg.format(option[0]),
level=30
))
except IndexError:
option = (line.strip(), "true")
if line.strip() in SQLMAP_API_OPTIONS:
retval.append(option)
else:
logger.warning(set_color(
warn_msg.format(line.strip()), level=30
))
elif nmap:
warning_msg = "option {} is not known by the nmap api, skipping..."
if opt.nmapArguments is not None:
@ -497,6 +513,12 @@ if __name__ == "__main__":
opt.dorkToUse, search_engine, verbose=opt.runInVerbose, proxy=proxy_to_use,
agent=agent_to_use, pull_all=opt.noExclude, parse_webcache=opt.parseWebcache
)
except InvalidProxyType:
supported_proxy_types = ["socks5", "socks4", "https", "http"]
logger.fatal(set_color(
"the provided proxy is not valid, specify the protocol and try again, supported "
"proxy protocols are {} (IE socks5://127.0.0.1:9050)...".format(", ".join(supported_proxy_types)), level=50
))
except Exception as e:
logger.exception(set_color(
"ran into exception '{}'...".format(e), level=50