Skip to content
This repository has been archived by the owner on Mar 31, 2024. It is now read-only.

Commit

Permalink
Merge branch 'JJK96-payloads_to_file'
Browse files Browse the repository at this point in the history
  • Loading branch information
ItsIgnacioPortal committed Sep 9, 2022
2 parents 3c23c09 + a01ba44 commit 73a3c1e
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 1 deletion.
12 changes: 11 additions & 1 deletion modes/scan.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,15 @@
logger = setup_logger(__name__)


def scan(target, paramData, encoding, headers, delay, timeout, skipDOM, skip):
def write_vectors(vectors, filename):
with open(filename, 'w') as f:
for vs in vectors.values():
for v in vs:
f.write("{}\n".format(v))
logger.info('Written payloads to file')


def scan(target, paramData, encoding, headers, delay, timeout, skipDOM, find, skip, payloads_file):
GET, POST = (False, True) if paramData else (True, False)
# If the user hasn't supplied the root url with http(s), we will handle it
if not target.startswith('http'):
Expand Down Expand Up @@ -86,6 +94,8 @@ def scan(target, paramData, encoding, headers, delay, timeout, skipDOM, skip):
logger.error('No vectors were crafted.')
continue
logger.info('Payloads generated: %i' % total)
if payloads_file:
write_vectors(vectors, payloads_file)
progress = 0
for confidence, vects in vectors.items():
for vect in vects:
Expand Down
9 changes: 9 additions & 0 deletions xsstrike.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@
parser.add_argument('--log-file', help='Name of the file to log', dest='log_file',
default=core.log.log_file)
parser.add_argument('--js', '--javascript', help='render javascript', dest='js', action='store_true')
parser.add_argument('--save-payloads', dest="payloads_file", help='Save generated payloads to a file', default='/path/to/file')
args = parser.parse_args()

# Pull all parameter values of dict from argparse namespace into local variables of name == key
Expand All @@ -107,6 +108,7 @@
skip = args.skip
skipDOM = args.skipDOM
blindXSS = args.blindXSS
payloads_file = args.payloads_file
core.log.console_log_level = args.console_log_level
core.log.file_log_level = args.file_log_level
core.log.log_file = args.log_file
Expand Down Expand Up @@ -178,6 +180,7 @@
if fuzz:
singleFuzz(target, paramData, encoding, headers, delay, timeout)
elif not recursive and not args_seeds:
<<<<<<< HEAD
results = []
for i, target in enumerate(target_list):
logger.red_line()
Expand All @@ -195,6 +198,12 @@
logger.info(f'Vulnerable {len(results)} target{"s"[:len(results)^1]}')
for i, result in enumerate(results):
logger.good(f'Pwned {result[0]} ({result[1]})')
=======
if args_file:
bruteforcer(target, paramData, payloadList, encoding, headers, delay, timeout)
else:
scan(target, paramData, encoding, headers, delay, timeout, skipDOM, find, skip, payloads_file)
>>>>>>> 86cb5d09968e36447160527b3c318a630eebf3fe
else:
if target:
seedList.append(target)
Expand Down

0 comments on commit 73a3c1e

Please sign in to comment.