Example #1
0
class TestASTHandler:
    ast_handler = ASTHandler()

    def test_init(self):
        args = self.ast_handler.args['eval']
        assert not args

    def test_appending_args(self):
        self.ast_handler.handle_eval(['arg1', 'arg2'])
        args = self.ast_handler.args['eval']

        assert 'arg1' in args
        assert 'arg2' in args

    def test_repeating_args(self):
        self.ast_handler.handle_eval(['arg2', 'arg3'])
        args = self.ast_handler.args['eval']

        assert 'arg2' in args
        assert 'arg3' in args

    def test_length(self, caplog):
        caplog.clear()
        arg = [
            'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
        ]
        self.ast_handler.handle_eval(arg)

        assert "[AST]: Eval argument length > 64" in caplog.text

        args = self.ast_handler.args['eval']
        assert arg[0] in args
Example #2
0
 def __init_core(self):
     log.ThugOpts = ThugOpts()
     log.ThugVulnModules = ThugVulnModules()
     log.MIMEHandler = MIMEHandler()
     log.SchemeHandler = SchemeHandler()
     log.ASTHandler = ASTHandler()
     log.Encoding = Encoding()
     log.WebTracking = WebTracking()
Example #3
0
 def __init__(self, configuration_path = thug.__configuration_path__):
     log.configuration_path  = configuration_path
     log.personalities_path  = os.path.join(configuration_path, "personalities") if configuration_path else None
     log.ThugOpts            = ThugOpts()
     log.ThugVulnModules     = ThugVulnModules()
     log.WebTracking         = WebTracking()
     log.MIMEHandler         = MIMEHandler()
     log.SchemeHandler       = SchemeHandler()
     log.HTMLClassifier      = HTMLClassifier()
     log.JSClassifier        = JSClassifier()
     log.VBSClassifier       = VBSClassifier()
     log.URLClassifier       = URLClassifier()
     log.SampleClassifier    = SampleClassifier()
     log.TextClassifier      = TextClassifier()
     log.Encoding            = Encoding()
     log.ASTHandler          = ASTHandler()
     log.JSExtensions        = list()
     log.Trace               = None