Skip to content

Commit

Permalink
some refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
KissPeter committed Feb 11, 2020
1 parent 62de30c commit b5aaf52
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,30 +10,27 @@

from apifuzzer.apifuzzer_report import Apifuzzer_Report as Report
from apifuzzer.fuzzer_target.request_base_functions import FuzzerTargetBase
from apifuzzer.utils import try_b64encode, init_pycurl, set_class_logger
from apifuzzer.utils import try_b64encode, init_pycurl


class Return:
pass


@set_class_logger
class FuzzerTarget(FuzzerTargetBase, ServerTarget):
def not_implemented(self, func_name):
pass

def __init__(self, name, base_url, report_dir, auth_headers, logger):
super(ServerTarget, self).__init__(name, logger)
def __init__(self, name, base_url, report_dir, auth_headers):
super(ServerTarget, self).__init__(name)
super(FuzzerTargetBase, self).__init__(auth_headers)
self.base_url = base_url
self._last_sent_request = None
self.accepted_status_codes = list(range(200, 300)) + list(range(400, 500))
self.auth_headers = auth_headers
self.report_dir = report_dir
self.logger = logger
# self.logger = logger
self.logger.info('Logger initialized')
self.resp_headers = dict()
self.chop_left = True
self.chop_right = True

def pre_test(self, test_num):
"""
Expand Down
6 changes: 1 addition & 5 deletions apifuzzer/fuzzer_target/request_base_functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,9 @@
@set_class_logger
class FuzzerTargetBase:

def __init__(self, base_url, report_dir, auth_headers, logger):
self.base_url = base_url
def __init__(self, auth_headers):
self._last_sent_request = None
self.accepted_status_codes = list(range(200, 300)) + list(range(400, 500))
self.auth_headers = auth_headers
self.report_dir = report_dir
self.logger = logger
self.logger.info('Logger initialized')
self.resp_headers = dict()
self.chop_left = True
Expand Down
17 changes: 9 additions & 8 deletions apifuzzer/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,16 +62,17 @@ def get_sample_data_by_type(param_type):

def set_logger(level='warning', basic_output=False):
fmt = '%(process)d [%(levelname)s] %(name)s: %(message)s'
if (basic_output):
if basic_output:
logging.basicConfig(format=fmt)
logger = logging.getLogger()
else:
handler = logging.StreamHandler()
if os.path.exists('/dev/log'):
handler = SysLogHandler(address='/dev/log', facility=SysLogHandler.LOG_LOCAL2)
handler.setFormatter(Formatter('%(process)d [%(levelname)s] %(name)s: %(message)s'))
logger = logging.getLogger()
logger.addHandler(handler)
if not len(logger.handlers):
handler = logging.StreamHandler()
if os.path.exists('/dev/log'):
handler = SysLogHandler(address='/dev/log', facility=SysLogHandler.LOG_LOCAL2)
handler.setFormatter(Formatter('%(process)d [%(levelname)s] %(name)s: %(message)s'))
logger.addHandler(handler)
logger.setLevel(level=level.upper())
return logger

Expand Down Expand Up @@ -103,7 +104,7 @@ def container_name_to_param(container_name):
return container_name.split('|')[-1]


def init_pycurl():
def init_pycurl(debug=False):
"""
Provides an instances of pycurl with basic configuration
:return: pycurl instance
Expand All @@ -112,7 +113,7 @@ def init_pycurl():
_curl.setopt(pycurl.SSL_OPTIONS, pycurl.SSLVERSION_TLSv1_2)
_curl.setopt(pycurl.SSL_VERIFYPEER, False)
_curl.setopt(pycurl.SSL_VERIFYHOST, False)
_curl.setopt(pycurl.VERBOSE, True)
_curl.setopt(pycurl.VERBOSE, debug)
_curl.setopt(pycurl.TIMEOUT, 10)
_curl.setopt(pycurl.COOKIEFILE, "")
_curl.setopt(pycurl.USERAGENT, 'APIFuzzer')
Expand Down
4 changes: 2 additions & 2 deletions fuzzer.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from kitty.interfaces import WebInterface
from kitty.model import GraphModel

from apifuzzer.fuzzer_target.send_request import FuzzerTarget
from apifuzzer.fuzzer_target.fuzz_request_sender import FuzzerTarget
from apifuzzer.server_fuzzer import OpenApiServerFuzzer
from apifuzzer.swagger_template_generator import SwaggerTemplateGenerator
from apifuzzer.utils import set_logger, get_api_definition_from_file, save_api_definition
Expand Down Expand Up @@ -42,7 +42,7 @@ def prepare(self):

def run(self):
target = FuzzerTarget(name='target', base_url=self.base_url, report_dir=self.report_dir,
auth_headers=self.auth_headers, logger=self.logger)
auth_headers=self.auth_headers)
interface = WebInterface()
model = GraphModel()
for template in self.templates:
Expand Down

0 comments on commit b5aaf52

Please sign in to comment.