Ejemplo n.º 1
0
    def test_mutant_creation(self):
        url = URL('http://moth/?a=1&b=2')
        headers = Headers([('Referer', 'http://moth/')])
        freq = HTTPQSRequest(url, headers=headers)

        created_mutants = HeadersMutant.create_mutants(freq, self.payloads, [],
                                                       False,
                                                       self.fuzzer_config)

        expected_dc_lst = [
            Headers([('Referer', 'abc')]),
            Headers([('Referer', 'def')])
        ]

        created_dc_lst = [i.get_dc() for i in created_mutants]

        self.assertEqual(created_dc_lst, expected_dc_lst)

        self.assertEqual(created_mutants[0].get_var(), 'Referer')
        self.assertEqual(created_mutants[0].get_var_index(), 0)
        self.assertEqual(created_mutants[0].get_original_value(), '')
        self.assertEqual(created_mutants[1].get_var(), 'Referer')
        self.assertEqual(created_mutants[1].get_var_index(), 0)
        self.assertEqual(created_mutants[1].get_original_value(), '')

        self.assertTrue(
            all(isinstance(m, HeadersMutant) for m in created_mutants))
Ejemplo n.º 2
0
    def test_mutant_creation(self):
        url = URL('http://moth/?a=1&b=2')
        original_referer = 'http://moths/'
        headers = Headers([('Referer', original_referer)])
        freq = FuzzableRequest(url, headers=headers)

        created_mutants = HeadersMutant.create_mutants(freq, self.payloads, [],
                                                       False,
                                                       self.fuzzer_config)

        expected_strs = {'Referer: abc\r\n', 'Referer: def\r\n'}
        expected_dcs = [
            Headers([('Referer', 'abc')]),
            Headers([('Referer', 'def')])
        ]

        created_dcs = [i.get_dc() for i in created_mutants]
        created_strs = set([str(i.get_dc()) for i in created_mutants])

        self.assertEqual(created_dcs, expected_dcs)
        self.assertEqual(created_strs, expected_strs)

        token = created_mutants[0].get_token()
        self.assertEqual(token.get_name(), 'Referer')
        self.assertEqual(token.get_original_value(), original_referer)
        self.assertEqual(token.get_value(), 'abc')

        token = created_mutants[1].get_token()
        self.assertEqual(token.get_name(), 'Referer')
        self.assertEqual(token.get_original_value(), original_referer)
        self.assertEqual(token.get_value(), 'def')

        for m in created_mutants:
            self.assertIsInstance(m, HeadersMutant)
Ejemplo n.º 3
0
    def test_mutant_creation(self):
        url = URL('http://moth/?a=1&b=2')
        original_referer = 'http://moths/'
        headers = Headers([('Referer', original_referer)])
        freq = FuzzableRequest(url, headers=headers)

        created_mutants = HeadersMutant.create_mutants(freq, self.payloads, [],
                                                       False,
                                                       self.fuzzer_config)

        expected_strs = {'Referer: abc\r\n',
                         'Referer: def\r\n'}
        expected_dcs = [Headers([('Referer', 'abc')]),
                        Headers([('Referer', 'def')])]

        created_dcs = [i.get_dc() for i in created_mutants]
        created_strs = set([str(i.get_dc()) for i in created_mutants])

        self.assertEqual(created_dcs, expected_dcs)
        self.assertEqual(created_strs, expected_strs)

        token = created_mutants[0].get_token()
        self.assertEqual(token.get_name(), 'Referer')
        self.assertEqual(token.get_original_value(), original_referer)
        self.assertEqual(token.get_value(), 'abc')

        token = created_mutants[1].get_token()
        self.assertEqual(token.get_name(), 'Referer')
        self.assertEqual(token.get_original_value(), original_referer)
        self.assertEqual(token.get_value(), 'def')

        for m in created_mutants:
            self.assertIsInstance(m, HeadersMutant)
Ejemplo n.º 4
0
    def create_mutant(self, freq, header_name):
        headers = freq.get_headers()
        headers[header_name] = ""
        freq.set_headers(headers)

        fuzzer_config = {"fuzzable_headers": [TEST_HEADER]}

        mutant = HeadersMutant.create_mutants(freq, [""], [TEST_HEADER], False, fuzzer_config)[0]

        return mutant
Ejemplo n.º 5
0
    def create_mutant(self, freq, header_name):
        headers = freq.get_headers()
        headers[header_name] = ''
        freq.set_headers(headers)

        fuzzer_config = {'fuzzable_headers': [TEST_HEADER]}

        mutant = HeadersMutant.create_mutants(freq, [''], [TEST_HEADER],
                                              False, fuzzer_config)[0]

        return mutant
Ejemplo n.º 6
0
    def create_mutants(self, freq, headers_name):
        for header_name in headers_name:
            headers = freq.get_headers()
            headers[header_name] = ''
            freq.set_headers(headers)

            fuzzer_config = {'fuzzable_headers': [header_name]}

            mutant = HeadersMutant.create_mutants(freq, [''], [header_name],
                                                  False, fuzzer_config)[0]

            yield mutant
Ejemplo n.º 7
0
    def test_mutant_creation(self):
        url = URL('http://moth/?a=1&b=2')
        headers = Headers([('Referer', 'http://moth/')])
        freq = HTTPQSRequest(url, headers=headers)

        created_mutants = HeadersMutant.create_mutants(freq, self.payloads, [],
                                                       False, self.fuzzer_config)

        expected_dc_lst = [Headers([('Referer', 'abc')]),
                           Headers([('Referer', 'def')])]

        created_dc_lst = [i.get_dc() for i in created_mutants]

        self.assertEqual(created_dc_lst, expected_dc_lst)

        self.assertEqual(created_mutants[0].get_var(), 'Referer')
        self.assertEqual(created_mutants[0].get_var_index(), 0)
        self.assertEqual(created_mutants[0].get_original_value(), '')
        self.assertEqual(created_mutants[1].get_var(), 'Referer')
        self.assertEqual(created_mutants[1].get_var_index(), 0)
        self.assertEqual(created_mutants[1].get_original_value(), '')

        self.assertTrue(
            all(isinstance(m, HeadersMutant) for m in created_mutants))