bug fix for charset used in inference for pages retrieved with --null-connection

This commit is contained in:
Miroslav Stampar 2011-01-20 11:01:01 +00:00
parent a4a0f10950
commit f6f4b5e9dd
2 changed files with 5 additions and 1 deletions

View File

@ -62,6 +62,7 @@ from lib.core.exception import sqlmapSyntaxException
from lib.core.exception import sqlmapUnsupportedDBMSException
from lib.core.exception import sqlmapUserQuitException
from lib.core.optiondict import optDict
from lib.core.settings import DEFAULT_PAGE_ENCODING
from lib.core.settings import IS_WIN
from lib.core.settings import PLATFORM
from lib.core.settings import PYVERSION
@ -1142,7 +1143,7 @@ def __setKnowledgeBaseAttributes(flushAll=True):
kb.osVersion = None
kb.osSP = None
kb.pageEncoding = None
kb.pageEncoding = DEFAULT_PAGE_ENCODING
kb.pageStable = None
kb.partRun = None
kb.proxyAuthHeader = None

View File

@ -122,6 +122,9 @@ def decodePage(page, contentEncoding, contentType):
Decode compressed/charset HTTP response
"""
if not page or (conf.nullConnection and len(page) < 2):
return getUnicode(page)
if isinstance(contentEncoding, basestring) and contentEncoding.lower() in ('gzip', 'x-gzip', 'deflate'):
if contentEncoding == 'deflate':
# http://stackoverflow.com/questions/1089662/python-inflate-and-deflate-implementations