Esempio n. 1
0
 def setUp(self):
     RoutersploitInterpreter.setup = mock.Mock()
     self.interpreter = RoutersploitInterpreter()
     self.interpreter.current_module = mock.MagicMock()
     self.raw_prompt_default = "\001\033[4m\002rsf\001\033[0m\002 > "
     self.module_prompt_default = lambda x: "\001\033[4m\002rsf\001\033[0m\002 (\001\033[91m\002{}\001\033[0m\002) > ".format(x)
     GLOBAL_OPTS.clear()
 def setUp(self):
     RoutersploitInterpreter.setup = mock.Mock()
     self.interpreter = RoutersploitInterpreter()
     self.interpreter.current_module = mock.MagicMock()
     self.raw_prompt_default = "\001\033[4m\002rsf\001\033[0m\002 > "
     self.module_prompt_default = lambda x: "\001\033[4m\002rsf\001\033[0m\002 (\001\033[91m\002{}\001\033[0m\002) > ".format(x)
     GLOBAL_OPTS.clear()
Esempio n. 3
0
 def complete_unsetg(self, text, *args, **kwargs):
     if text:
         return [
             ' '.join((attr, "")) for attr in GLOBAL_OPTS.keys()
             if attr.startswith(text)
         ]
     else:
         return GLOBAL_OPTS.keys()
Esempio n. 4
0
 def command_unsetg(self, *args, **kwargs):
     key, _, value = args[0].partition(' ')
     try:
         del GLOBAL_OPTS[key]
     except KeyError:
         utils.print_error("You can't unset global option '{}'.\n"
                           "Available global options: {}".format(key, GLOBAL_OPTS.keys()))
     else:
         utils.print_success({key: value})
Esempio n. 5
0
 def command_unsetg(self, *args, **kwargs):
     key, _, value = args[0].partition(' ')
     try:
         del GLOBAL_OPTS[key]
     except KeyError:
         utils.print_error("You can't unset global option '{}'.\n"
                           "Available global options: {}".format(key, GLOBAL_OPTS.keys()))
     else:
         utils.print_success({key: value})
Esempio n. 6
0
    def suggested_commands(self):  # TODO: sorted list, factor out generic commands
        """ Entry point for intelligent tab completion.

        Based on state of interpreter this method will return intelligent suggestions.

        :return: list of most accurate command suggestions
        """
        if self.current_module:
            module_commands = ['run', 'back', 'set ', 'setg ', 'show ', 'check', 'exec ', 'help', 'exit']
            if GLOBAL_OPTS.keys():
                return itertools.chain(module_commands, ('unsetg ',))
            return module_commands
        else:
            return ['use ', 'exec', 'help', 'exit', 'show ']
 def setUp(self):
     self.exploit_foo = TestExploitFoo()
     self.exploit_bar = TestExploitBar()
     self.exploit_with_validators = TestExploitWithValidators()
     GLOBAL_OPTS.clear()
Esempio n. 8
0
 def complete_unsetg(self, text, *args, **kwargs):
     if text:
         return [' '.join((attr, "")) for attr in GLOBAL_OPTS.keys() if attr.startswith(text)]
     else:
         return GLOBAL_OPTS.keys()
 def test_command_unsetg(self, mock_print_success):
     GLOBAL_OPTS['foo'] = 'bar'
     self.interpreter.command_unsetg('foo')
     self.assertNotIn('foo', GLOBAL_OPTS.keys())
     mock_print_success.assert_called_once_with({'foo': ''})
Esempio n. 10
0
 def setUp(self):
     self.exploit_foo = TestExploitFoo()
     self.exploit_bar = TestExploitBar()
     self.exploit_with_validators = TestExploitWithValidators()
     GLOBAL_OPTS.clear()
Esempio n. 11
0
 def test_command_unsetg(self, mock_print_success):
     GLOBAL_OPTS['foo'] = 'bar'
     self.interpreter.command_unsetg('foo')
     self.assertNotIn('foo', GLOBAL_OPTS.keys())
     mock_print_success.assert_called_once_with({'foo': ''})