Exemple #1
0
    def test_simple(self):
        s = w3af_core_status(Mock())

        self.assertEqual(s.get_status(), 'Stopped.')

        self.assertFalse(s.is_running())
        s.start()
        self.assertTrue(s.is_running())

        s.set_current_fuzzable_request('crawl', 'unittest_fr')
        s.set_running_plugin('crawl', 'unittest_plugin')

        expected = 'Crawling unittest_fr using crawl.unittest_plugin'
        self.assertEqual(s.get_status(), expected)

        s.pause(True)
        self.assertEqual(s.get_status(), 'Paused.')

        s.pause(False)
        expected = 'Crawling unittest_fr using crawl.unittest_plugin'
        self.assertEqual(s.get_status(), expected)

        s.set_current_fuzzable_request('audit', 'unittest_fr_audit')
        s.set_running_plugin('audit', 'unittest_plugin_audit')

        expected = 'Crawling unittest_fr using crawl.unittest_plugin\n'\
                   'Auditing unittest_fr_audit using audit.unittest_plugin_audit'
        self.assertEqual(s.get_status(), expected)

        s.stop()
        self.assertEqual(s.get_status(), 'Stopped.')
        self.assertFalse(s.is_running())
Exemple #2
0
    def test_simple(self):
        s = w3af_core_status(Mock())
        
        self.assertEqual(s.get_status(), 'Stopped.')
        
        self.assertFalse(s.is_running())
        s.start()
        self.assertTrue(s.is_running())
        
        s.set_current_fuzzable_request('crawl', 'unittest_fr')
        s.set_running_plugin('crawl', 'unittest_plugin')
        
        expected = 'Crawling unittest_fr using crawl.unittest_plugin'
        self.assertEqual(s.get_status(), expected)
        
        s.pause(True)
        self.assertEqual(s.get_status(), 'Paused.')
        
        s.pause(False)
        expected = 'Crawling unittest_fr using crawl.unittest_plugin'
        self.assertEqual(s.get_status(), expected)

        s.set_current_fuzzable_request('audit', 'unittest_fr_audit')
        s.set_running_plugin('audit', 'unittest_plugin_audit')

        expected = 'Crawling unittest_fr using crawl.unittest_plugin\n'\
                   'Auditing unittest_fr_audit using audit.unittest_plugin_audit'
        self.assertEqual(s.get_status(), expected)
        
        s.stop()
        self.assertEqual(s.get_status(), 'Stopped.')
        self.assertFalse(s.is_running())
Exemple #3
0
    def test_queue_status_not_started(self):
        s = w3af_core_status(w3afCore())

        self.assertEqual(s.get_crawl_input_speed(), None)
        self.assertEqual(s.get_crawl_output_speed(), None)
        self.assertEqual(s.get_crawl_qsize(), None)
        self.assertEqual(s.get_crawl_current_fr(), None)
        self.assertEqual(s.get_crawl_eta(), None)

        self.assertEqual(s.get_audit_input_speed(), None)
        self.assertEqual(s.get_audit_output_speed(), None)
        self.assertEqual(s.get_audit_qsize(), None)
        self.assertEqual(s.get_audit_current_fr(), None)
        self.assertEqual(s.get_audit_eta(), None)
Exemple #4
0
 def test_queue_status_not_started(self):
     s = w3af_core_status(w3afCore())
     
     self.assertEqual(s.get_crawl_input_speed(), None)
     self.assertEqual(s.get_crawl_output_speed(), None)
     self.assertEqual(s.get_crawl_qsize(), None)
     self.assertEqual(s.get_crawl_current_fr(), None)
     self.assertEqual(s.get_crawl_eta(), None)
     
     self.assertEqual(s.get_audit_input_speed(), None)
     self.assertEqual(s.get_audit_output_speed(), None)
     self.assertEqual(s.get_audit_qsize(), None)
     self.assertEqual(s.get_audit_current_fr(), None)
     self.assertEqual(s.get_audit_eta(), None)
Exemple #5
0
    def test_queue_status_not_started(self):
        core = w3afCore()
        s = w3af_core_status(core)

        self.assertEqual(s.get_crawl_input_speed(), None)
        self.assertEqual(s.get_crawl_output_speed(), None)
        self.assertEqual(s.get_crawl_qsize(), None)
        self.assertEqual(s.get_crawl_current_fr(), None)
        self.assertEqual(s.get_crawl_eta(), None)

        self.assertEqual(s.get_audit_input_speed(), None)
        self.assertEqual(s.get_audit_output_speed(), None)
        self.assertEqual(s.get_audit_qsize(), None)
        self.assertEqual(s.get_audit_current_fr(), None)
        self.assertEqual(s.get_audit_eta(), None)

        core.worker_pool.terminate_join()
Exemple #6
0
    def test_queue_status_not_started(self):
        core = w3afCore()
        s = w3af_core_status(core)
        
        self.assertEqual(s.get_crawl_input_speed(), None)
        self.assertEqual(s.get_crawl_output_speed(), None)
        self.assertEqual(s.get_crawl_qsize(), None)
        self.assertEqual(s.get_crawl_current_fr(), None)
        self.assertEqual(s.get_crawl_eta(), None)
        
        self.assertEqual(s.get_audit_input_speed(), None)
        self.assertEqual(s.get_audit_output_speed(), None)
        self.assertEqual(s.get_audit_qsize(), None)
        self.assertEqual(s.get_audit_current_fr(), None)
        self.assertEqual(s.get_audit_eta(), None)

        core.worker_pool.terminate_join()
    def handle_exception(self, phase, plugin_name, fuzzable_request, _exception):
        """
        Get the exception information, and put it into the output queue
        then, the strategy will get the items from the output queue and
        handle the exceptions.

        :param plugin_name: The plugin that generated the exception
        :param fuzzable_request: The fuzzable request that was sent as input to
                                 the plugin when the exception was raised
        :param _exception: The exception object
        """
        except_type, except_class, tb = sys.exc_info()
        enabled_plugins = pprint_plugins(self._w3af_core)

        status = w3af_core_status(self._w3af_core)
        status.set_running_plugin(phase, plugin_name, log=False)
        status.set_current_fuzzable_request(phase, fuzzable_request)

        exception_data = ExceptionData(status, _exception, tb,
                                       enabled_plugins)
        self._out_queue.put(exception_data)
Exemple #8
0
    def handle_exception(self, phase, plugin_name, fuzzable_request,
                         _exception):
        """
        Get the exception information, and put it into the output queue
        then, the strategy will get the items from the output queue and
        handle the exceptions.

        :param plugin_name: The plugin that generated the exception
        :param fuzzable_request: The fuzzable request that was sent as input to
                                 the plugin when the exception was raised
        :param _exception: The exception object
        """
        except_type, except_class, tb = sys.exc_info()
        enabled_plugins = pprint_plugins(self._w3af_core)

        status = w3af_core_status(self._w3af_core)
        status.set_running_plugin(phase, plugin_name, log=False)
        status.set_current_fuzzable_request(phase, fuzzable_request)

        exception_data = ExceptionData(status, _exception, tb, enabled_plugins)
        self._out_queue.put(exception_data)