В настоящее время я создаю расширение 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. Ошибка все еще произошла.
Кажется, что это происходит, когда я пытаюсь сделать несколько запросов, но я понятия не имею, что на самом деле происходит, есть идеи, что я могу сделать?