mirror of
https://github.com/ysoftdevs/wapifuzz.git
synced 2026-01-11 22:30:35 +01:00
Progress redirected
Full text log goes right into log file.
This commit is contained in:
@@ -24,7 +24,7 @@ def report_progress(session, junit_logger):
|
||||
plan_another_report(session, junit_logger, ConfigurationManager.get_reporting_interval())
|
||||
|
||||
message = create_report_message(session)
|
||||
print(message, file=sys.stderr)
|
||||
print(message)
|
||||
else:
|
||||
plan_another_report(session, junit_logger, DID_FUZZING_STARTED_CHECKS_TIME_INTERVAL_IN_SECONDS)
|
||||
|
||||
|
||||
@@ -3,6 +3,10 @@ from fake_socket import get_response_object
|
||||
|
||||
|
||||
class TextLogger(FuzzLoggerText):
|
||||
def __init__(self, full_log_file_pointer):
|
||||
super().__init__()
|
||||
self._log_file = full_log_file_pointer
|
||||
|
||||
def open_test_step(self, description):
|
||||
self._print_log_msg(msg=description, msg_type='step')
|
||||
|
||||
@@ -37,10 +41,14 @@ class TextLogger(FuzzLoggerText):
|
||||
self._print_log_msg(msg=description, msg_type='pass')
|
||||
|
||||
def close_test_case(self):
|
||||
print()
|
||||
print(file=self._log_file)
|
||||
|
||||
def close_test(self):
|
||||
pass
|
||||
|
||||
def _print_log_msg(self, msg_type, msg=None, data=None):
|
||||
print(helpers.format_log_msg(msg_type=msg_type, description=msg, data=data, indent_size=self.INDENT_SIZE))
|
||||
print(
|
||||
helpers.format_log_msg(
|
||||
msg_type=msg_type, description=msg, data=data, indent_size=self.INDENT_SIZE, format_type="html"
|
||||
), file=self._log_file
|
||||
)
|
||||
|
||||
@@ -7,6 +7,8 @@ from payloads.payloads_loader import PayloadsLoader, load_default_payloads
|
||||
from configuration_manager import ConfigurationManager
|
||||
from fuzzer import Fuzzer
|
||||
|
||||
FUZZING_LOG_FILE = "fuzzing.log"
|
||||
|
||||
|
||||
def main():
|
||||
config_file_path = sys.argv[1]
|
||||
@@ -27,16 +29,17 @@ def main():
|
||||
payloads_loader.load_payloads(custom_payloads_path, FuzzPayloads.CUSTOM_PAYLOADS_KEY)
|
||||
|
||||
with open(junit_output, 'w', encoding='utf8') as junit_output_file_pointer:
|
||||
text_logger = TextLogger()
|
||||
junit_logger = JUnitLogger(junit_output_file_pointer, test_suite_name_delimiter=":", hostname=target["hostname"])
|
||||
protocol = 'ssl' if target["ssl"] is True else 'tcp'
|
||||
with open(FUZZING_LOG_FILE, "w", encoding='utf8') as full_log_file_pointer:
|
||||
text_logger = TextLogger(full_log_file_pointer)
|
||||
junit_logger = JUnitLogger(junit_output_file_pointer, test_suite_name_delimiter=":", hostname=target["hostname"])
|
||||
protocol = 'ssl' if target["ssl"] is True else 'tcp'
|
||||
|
||||
with open(endpoints_description, 'r') as endpoints_description_file_pointer:
|
||||
endpoints = json.loads(endpoints_description_file_pointer.read())
|
||||
with open(endpoints_description, 'r') as endpoints_description_file_pointer:
|
||||
endpoints = json.loads(endpoints_description_file_pointer.read())
|
||||
|
||||
fuzzer = Fuzzer(endpoints, text_logger, junit_logger, protocol)
|
||||
fuzzer.fuzz()
|
||||
return fuzzer.was_there_any_failure()
|
||||
fuzzer = Fuzzer(endpoints, text_logger, junit_logger, protocol)
|
||||
fuzzer.fuzz()
|
||||
return fuzzer.was_there_any_failure()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
3
run.ps1
3
run.ps1
@@ -32,7 +32,6 @@ $DOCKER='docker'
|
||||
# Define paths inside directory
|
||||
$PARSER_FOLDER="./parser/OpenApiParserCLI/"
|
||||
$API_REQUESTS_JSON="./parser/api.json"
|
||||
$FUZZER_LOG="fuzzing.log"
|
||||
$JUNIT_TEST_REPORT="./reporter/reports.junit.xml"
|
||||
$HTML_TEST_REPORT="./reporter/reports.html"
|
||||
$XUNIT2HTML_XSL="./reporter/xunit_to_html.xsl"
|
||||
@@ -67,7 +66,7 @@ Write-Host "Installing specific dependencies"
|
||||
pip install git+https://github.com/jtpereyda/boofuzz.git
|
||||
pip install junit-xml
|
||||
Write-Host "Starting fuzz testing"
|
||||
python ./fuzzer/wapifuzz.py ${config} ${API_REQUESTS_JSON} ${JUNIT_TEST_REPORT} ${payloads} > $FUZZER_LOG
|
||||
python ./fuzzer/wapifuzz.py ${config} ${API_REQUESTS_JSON} ${JUNIT_TEST_REPORT} ${payloads}
|
||||
$FUZZER_ERROR_CODE=$LASTEXITCODE
|
||||
if ($FUZZER_ERROR_CODE -eq 2)
|
||||
{
|
||||
|
||||
2
run.sh
2
run.sh
@@ -77,7 +77,7 @@ ${PYTHON3_BIN} -m virtualenv env
|
||||
echo "Started fuzzing"
|
||||
. ./env/bin/activate ; \
|
||||
pip install --upgrade pip ; pip install git+https://github.com/jtpereyda/boofuzz.git ; pip install junit-xml ; \
|
||||
python fuzzer/wapifuzz.py ${WAPIFUZZ_CONFIG} ${API_REQUESTS_JSON} ${JUNIT_TEST_REPORT} ${CUSTOM_PAYLOADS_FILE} > ${FUZZER_LOG}
|
||||
python fuzzer/wapifuzz.py ${WAPIFUZZ_CONFIG} ${API_REQUESTS_JSON} ${JUNIT_TEST_REPORT} ${CUSTOM_PAYLOADS_FILE}
|
||||
FUZZER_ERROR_CODE=$?
|
||||
if [ "$FUZZER_ERROR_CODE" -eq "2" ]; then
|
||||
echo "Fuzzing failed. Trying to generate HTML result of procceeded test cases.";
|
||||
|
||||
Reference in New Issue
Block a user