当前位置: 首页>>代码示例>>Python>>正文


Python FuzzableRequest.from_parts方法代码示例

本文整理汇总了Python中w3af.core.data.request.fuzzable_request.FuzzableRequest.from_parts方法的典型用法代码示例。如果您正苦于以下问题:Python FuzzableRequest.from_parts方法的具体用法?Python FuzzableRequest.from_parts怎么用?Python FuzzableRequest.from_parts使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在w3af.core.data.request.fuzzable_request.FuzzableRequest的用法示例。


在下文中一共展示了FuzzableRequest.from_parts方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: _get_request_response_from_work_unit

# 需要导入模块: from w3af.core.data.request.fuzzable_request import FuzzableRequest [as 别名]
# 或者: from w3af.core.data.request.fuzzable_request.FuzzableRequest import from_parts [as 别名]
    def _get_request_response_from_work_unit(self, work_unit):
        """
        In some cases the work unit is a tuple with request / response instances.

        In other cases it is an ID, which needs to be queried from the History DB
        to get the request / response.

        :param work_unit: One of the options explained above
        :return: A request / response tuple
        """
        if not isinstance(work_unit, int):
            request, response = work_unit
        else:
            # Before we sent requests and responses as work units,
            # but since we changed from Queue to CachedQueue for BaseConsumer
            # the database was growing really big (1GB) for storing that traffic
            # and I decided to migrate to using just the response.id and querying
            # the SQLite one extra time.
            history = HistoryItem()
            request, response = history.load_from_file(work_unit)

        # Create a fuzzable request based on the urllib2 request object
        headers_inst = Headers(request.header_items())
        request = FuzzableRequest.from_parts(request.url_object,
                                             request.get_method(),
                                             request.get_data() or '',
                                             headers_inst)

        return request, response
开发者ID:knucker,项目名称:w3af,代码行数:31,代码来源:grep.py

示例2: test_str_with_postdata

# 需要导入模块: from w3af.core.data.request.fuzzable_request import FuzzableRequest [as 别名]
# 或者: from w3af.core.data.request.fuzzable_request.FuzzableRequest import from_parts [as 别名]
 def test_str_with_postdata(self):
     headers = Headers([('content-type', URLEncodedForm.ENCODING)])
     fr = FuzzableRequest.from_parts("http://www.w3af.com/", post_data='a=1',
                                     headers=headers)
     expected = 'Method: GET | http://www.w3af.com/ | URL encoded ' \
                'form: (a)'
     self.assertEqual(str(fr), expected)
开发者ID:andresriancho,项目名称:w3af-kali,代码行数:9,代码来源:test_fuzzable_request.py

示例3: test_multipart_post

# 需要导入模块: from w3af.core.data.request.fuzzable_request import FuzzableRequest [as 别名]
# 或者: from w3af.core.data.request.fuzzable_request.FuzzableRequest import from_parts [as 别名]
    def test_multipart_post(self):
        boundary, post_data = multipart_encode([('a', 'bcd'), ], [])
        multipart_boundary = 'multipart/form-data; boundary=%s'

        headers = Headers([('content-length', str(len(post_data))),
                           ('content-type', multipart_boundary % boundary)])

        fr = FuzzableRequest.from_parts(self.url, headers=headers,
                                        post_data=post_data, method='POST')

        form_params = FormParameters()
        form_params.add_field_by_attr_items([('name', 'a'),
                               ('type', 'text'),
                               ('value', 'bcd')])

        expected_container = MultipartContainer(form_params)
        expected_headers = Headers([('content-type',
                                     multipart_boundary % boundary)])

        self.assertEqual(fr.get_url(), self.url)
        self.assertEqual(fr.get_headers(), expected_headers)
        self.assertIn('multipart/form-data', fr.get_headers()['content-type'])
        self.assertEqual(fr.get_method(), 'POST')
        self.assertIsInstance(fr.get_raw_data(), MultipartContainer)
        self.assertEqual(fr.get_raw_data(), expected_container)
开发者ID:0x554simon,项目名称:w3af,代码行数:27,代码来源:test_create_fuzzable_request.py

示例4: test_from_freq

# 需要导入模块: from w3af.core.data.request.fuzzable_request import FuzzableRequest [as 别名]
# 或者: from w3af.core.data.request.fuzzable_request.FuzzableRequest import from_parts [as 别名]
    def test_from_freq(self):
        freq = FuzzableRequest.from_parts(self.get_url(), 'POST',
                                          XML_WITH_FUZZABLE, Headers())
        m = XmlRpcMutant(freq)

        self.assertIsInstance(m.get_dc(), XmlRpcContainer)

        dc = m.get_dc()
        self.assertIn('string', dc)
        self.assertIn('base64', dc)

        self.assertEqual(len(dc['string']), 1)
        self.assertEqual(len(dc['base64']), 1)

        self.assertEqual(dc['string'][0], 'Foo bar')
        self.assertEqual(dc['base64'][0], 'Spam eggs')

        self.assertEqual(str(m.get_dc()), str(m.get_data()))

        found_at = '"http://w3af.com/a/b/c.php", using HTTP method POST. ' \
                   'The sent XML-RPC was: "<methodCall>\n   <methodName>' \
                   'sample.sum</methodName>\n   <params>\n ".'
        self.assertEqual(m.found_at(), found_at)

        headers = m.get_headers()
        self.assertIn('Content-Type', headers)
        self.assertEqual(headers['Content-Type'], 'application/xml')
开发者ID:0x554simon,项目名称:w3af,代码行数:29,代码来源:test_xmlrpc_mutant.py

示例5: test_simplest

# 需要导入模块: from w3af.core.data.request.fuzzable_request import FuzzableRequest [as 别名]
# 或者: from w3af.core.data.request.fuzzable_request.FuzzableRequest import from_parts [as 别名]
    def test_simplest(self):
        fr = FuzzableRequest.from_parts(self.url)

        self.assertEqual(fr.get_url(), self.url)
        self.assertEqual(fr.get_headers(), Headers())
        self.assertEqual(fr.get_method(), "GET")
        self.assertIsInstance(fr.get_raw_data(), KeyValueContainer)
开发者ID:cathartic,项目名称:w3af,代码行数:9,代码来源:test_create_fuzzable_request.py

示例6: test_raw_url

# 需要导入模块: from w3af.core.data.request.fuzzable_request import FuzzableRequest [as 别名]
# 或者: from w3af.core.data.request.fuzzable_request.FuzzableRequest import from_parts [as 别名]
    def test_raw_url(self):
        raw_url = "http://w3af.org/foo/"
        fr = FuzzableRequest.from_parts(raw_url)

        self.assertEqual(fr.get_url().url_string, raw_url)
        self.assertEqual(fr.get_headers(), Headers())
        self.assertEqual(fr.get_method(), "GET")
        self.assertIsInstance(fr.get_raw_data(), KeyValueContainer)
开发者ID:cathartic,项目名称:w3af,代码行数:10,代码来源:test_create_fuzzable_request.py

示例7: test_headers_method

# 需要导入模块: from w3af.core.data.request.fuzzable_request import FuzzableRequest [as 别名]
# 或者: from w3af.core.data.request.fuzzable_request.FuzzableRequest import from_parts [as 别名]
    def test_headers_method(self):
        hdr = Headers([("foo", "bar")])
        fr = FuzzableRequest.from_parts(self.url, method="PUT", headers=hdr)

        self.assertEqual(fr.get_url(), self.url)
        self.assertEqual(fr.get_headers(), hdr)
        self.assertEqual(fr.get_method(), "PUT")
        self.assertIsInstance(fr.get_raw_data(), KeyValueContainer)
开发者ID:cathartic,项目名称:w3af,代码行数:10,代码来源:test_create_fuzzable_request.py

示例8: test_json_post

# 需要导入模块: from w3af.core.data.request.fuzzable_request import FuzzableRequest [as 别名]
# 或者: from w3af.core.data.request.fuzzable_request.FuzzableRequest import from_parts [as 别名]
    def test_json_post(self):
        post_data = '{"1":"2"}'
        hdr = Headers([("content-length", str(len(post_data))), ("content-type", "application/json")])

        fr = FuzzableRequest.from_parts(self.url, headers=hdr, post_data=post_data, method="POST")

        self.assertEqual(fr.get_url(), self.url)
        self.assertEqual(fr.get_headers(), hdr)
        self.assertEqual(fr.get_method(), "POST")
        self.assertIsInstance(fr.get_raw_data(), JSONContainer)
开发者ID:cathartic,项目名称:w3af,代码行数:12,代码来源:test_create_fuzzable_request.py

示例9: test_xmlrpc_mutant

# 需要导入模块: from w3af.core.data.request.fuzzable_request import FuzzableRequest [as 别名]
# 或者: from w3af.core.data.request.fuzzable_request.FuzzableRequest import from_parts [as 别名]
    def test_xmlrpc_mutant(self):
        url = URL('http://moth/?id=1')
        post_data = XML_WITH_FUZZABLE
        headers = Headers()
        freq = FuzzableRequest.from_parts(url, 'POST', post_data, headers)
        mutants = create_mutants(freq, self.payloads)

        self.assertAllInstance(mutants[:2], QSMutant)
        self.assertAllInstance(mutants[4:], XmlRpcMutant)
        self.assertAllHaveTokens(mutants)
开发者ID:0x554simon,项目名称:w3af,代码行数:12,代码来源:test_fuzzer.py

示例10: test_simple_post

# 需要导入模块: from w3af.core.data.request.fuzzable_request import FuzzableRequest [as 别名]
# 或者: from w3af.core.data.request.fuzzable_request.FuzzableRequest import from_parts [as 别名]
    def test_simple_post(self):
        post_data = "a=b&d=3"
        hdr = Headers([("content-length", str(len(post_data))), ("content-type", URLEncodedForm.ENCODING)])

        fr = FuzzableRequest.from_parts(self.url, headers=hdr, post_data=post_data, method="POST")

        self.assertEqual(fr.get_url(), self.url)
        self.assertEqual(fr.get_headers(), hdr)
        self.assertEqual(fr.get_method(), "POST")
        self.assertIn("content-type", fr.get_headers())
        self.assertIsInstance(fr.get_raw_data(), URLEncodedForm)
开发者ID:cathartic,项目名称:w3af,代码行数:13,代码来源:test_create_fuzzable_request.py

示例11: test_xmlrpc_post

# 需要导入模块: from w3af.core.data.request.fuzzable_request import FuzzableRequest [as 别名]
# 或者: from w3af.core.data.request.fuzzable_request.FuzzableRequest import from_parts [as 别名]
    def test_xmlrpc_post(self):
        post_data = """<methodCall>
            <methodName>system.listMethods</methodName>
            <params></params>
        </methodCall>"""

        headers = Headers([("content-length", str(len(post_data)))])

        fr = FuzzableRequest.from_parts(self.url, headers=headers, post_data=post_data, method="POST")

        self.assertEqual(fr.get_url(), self.url)
        self.assertEqual(fr.get_headers(), headers)
        self.assertEqual(fr.get_method(), "POST")
        self.assertIsInstance(fr.get_raw_data(), XmlRpcContainer)
开发者ID:cathartic,项目名称:w3af,代码行数:16,代码来源:test_create_fuzzable_request.py

示例12: test_json_creation_missing_header

# 需要导入模块: from w3af.core.data.request.fuzzable_request import FuzzableRequest [as 别名]
# 或者: from w3af.core.data.request.fuzzable_request.FuzzableRequest import from_parts [as 别名]
    def test_json_creation_missing_header(self):
        post_data = '{"1":"2"}'
        # Missing the content-type header for json
        headers = Headers([("content-length", str(len(post_data)))])

        fr = FuzzableRequest.from_parts(self.url, headers=headers, post_data=post_data, method="POST")

        self.assertEqual(fr.get_url(), self.url)
        self.assertEqual(fr.get_headers(), headers)
        self.assertEqual(fr.get_method(), "POST")

        # Here the "default" post-data is set, which will be empty because we
        # failed to parse the post-data
        self.assertIsInstance(fr.get_raw_data(), PlainContainer)
        self.assertEqual(fr.get_raw_data().get_param_names(), [])
开发者ID:cathartic,项目名称:w3af,代码行数:17,代码来源:test_create_fuzzable_request.py

示例13: create_mutant_from_params

# 需要导入模块: from w3af.core.data.request.fuzzable_request import FuzzableRequest [as 别名]
# 或者: from w3af.core.data.request.fuzzable_request.FuzzableRequest import from_parts [as 别名]
def create_mutant_from_params(method, uri, var, post_data):
    uri = URL(uri)

    if method.upper() == 'GET' and var in uri.querystring:
        MutantKlass = QSMutant
        headers = Headers()
    else:
        MutantKlass = PostDataMutant
        headers = Headers([('content-type', URLEncodedForm.ENCODING)])

    freq = FuzzableRequest.from_parts(uri, method=method,
                                      post_data=post_data, headers=headers)
    mutant = MutantKlass(freq)
    mutant.get_dc().set_token((var, 0))
    return mutant
开发者ID:ElAleyo,项目名称:w3af,代码行数:17,代码来源:test_csv_file.py

示例14: _grep

# 需要导入模块: from w3af.core.data.request.fuzzable_request import FuzzableRequest [as 别名]
# 或者: from w3af.core.data.request.fuzzable_request.FuzzableRequest import from_parts [as 别名]
    def _grep(self, request, response):

        url_instance = request.url_object
        domain = url_instance.get_domain()

        if self._grep_queue_put is not None and\
        domain in cf.cf.get('target_domains'):

            # Create a fuzzable request based on the urllib2 request object
            headers_inst = Headers(request.header_items())
            fr = FuzzableRequest.from_parts(url_instance,
                                            request.get_method(),
                                            request.get_data() or '',
                                            headers_inst)

            self._grep_queue_put((fr, response))
开发者ID:gamehacker,项目名称:w3af,代码行数:18,代码来源:extended_urllib.py

示例15: test_invalid_multipart_post

# 需要导入模块: from w3af.core.data.request.fuzzable_request import FuzzableRequest [as 别名]
# 或者: from w3af.core.data.request.fuzzable_request.FuzzableRequest import from_parts [as 别名]
    def test_invalid_multipart_post(self):
        _, post_data = multipart_encode([("a", "bcd")], [])

        # It is invalid because there is a missing boundary parameter in the
        # content-type header
        headers = Headers([("content-length", str(len(post_data))), ("content-type", "multipart/form-data")])

        fr = FuzzableRequest.from_parts(self.url, headers=headers, post_data=post_data, method="POST")

        self.assertEqual(fr.get_url(), self.url)
        self.assertEqual(fr.get_headers(), headers)
        self.assertEqual(fr.get_method(), "POST")

        # Here the "default" post-data is set, which will be empty because we
        # failed to parse the post-data
        self.assertIsInstance(fr.get_raw_data(), PlainContainer)
        self.assertEqual(fr.get_raw_data().get_param_names(), [])
开发者ID:cathartic,项目名称:w3af,代码行数:19,代码来源:test_create_fuzzable_request.py


注:本文中的w3af.core.data.request.fuzzable_request.FuzzableRequest.from_parts方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。