Неверная длина сохраненного блока. Библиотека Jython и запросов - PullRequest
0 голосов
/ 01 октября 2019

В настоящее время я создаю расширение Burp, и у меня возникли некоторые проблемы с интеграцией Jython (Burp находится в Java, поэтому Jython требуется) и библиотекой запросов.

Идея расширения состоит в том, чтобы проверить некоторые URL-адреса (подобавление и конечная точка) вернуть определенный текст в теле ответа.

Я делаю что-то вроде следующего:

endpoints = ['a','b','c','d','e']

#I have a list of str urls

for URL in urlList:
    for endpoint in endpoints
        newURL = URL + endpoint + '?query={%0A%20%20%0A}'

        getResponse = requests.get(newURL)
        postResponse = requests.post(newURL)
        getResponseText = getResponse.text
        postResponseText = postResponse.text

        if ("Very specific error" in getResponseText):
            getEndpointFound = True

        if ("Very specific error" in postResponseText):
            postEndpointFound = True

Странно то, что первый URL-адрес работает нормально,но вторая выдает следующую ошибку

getResponse = requests.get(newURL)
  File "C:\Python27\Lib\site-packages\requests\api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "C:\Python27\Lib\site-packages\requests\api.py", line 60, in request
    return session.request(method=method, url=url, **kwargs)
  File "C:\Python27\Lib\site-packages\requests\sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Python27\Lib\site-packages\requests\sessions.py", line 686, in send
    r.content
  File "C:\Python27\Lib\site-packages\requests\models.py", line 828, in content
    self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b''
  File "C:\Python27\Lib\site-packages\requests\models.py", line 750, in generate
    for chunk in self.raw.stream(chunk_size, decode_content=True):
  File "C:\Python27\Lib\site-packages\requests\models.py", line 750, in generate
    for chunk in self.raw.stream(chunk_size, decode_content=True):
  File "C:\Python27\Lib\site-packages\urllib3\response.py", line 560, in stream
    for line in self.read_chunked(amt, decode_content=decode_content):
  File "C:\Python27\Lib\site-packages\urllib3\response.py", line 766, in read_chunked
    decoded = self._flush_decoder()
  File "C:\Python27\Lib\site-packages\urllib3\response.py", line 408, in _flush_decoder
    return buf + self._decoder.flush()
  File "C:\Users\User\Desktop\BurpExtender\jython-standalone-2.7.1.jar\Lib\zlib.py", line 244, in flush
  File "C:\Users\User\Desktop\BurpExtender\jython-standalone-2.7.1.jar\Lib\zlib.py", line 281, in _get_inflate_data
zlib.error: java.util.zip.DataFormatException: invalid stored block lengths

Сначала я подумал, что это проблема со списком URL, поэтому я попытался указать один URL. Ошибка все еще произошла.

Кажется, что это происходит, когда я пытаюсь сделать несколько запросов, но я понятия не имею, что на самом деле происходит, есть идеи, что я могу сделать?

...