minor update regarding --load-cookies

This commit is contained in:
Miroslav Stampar 2012-03-08 10:19:34 +00:00
parent 2c87d061e9
commit cd28eb6544
4 changed files with 19 additions and 8 deletions

View File

@ -8,6 +8,7 @@ See the file 'doc/COPYING' for copying permission
"""
import codecs
import cookielib
import copy
import ctypes
import httplib
@ -3194,3 +3195,15 @@ def hashDBRetrieve(key, unserialize=False, checkConf=False):
_ = "%s%s" % (conf.url or "%s%s" % (conf.hostname, conf.port), key)
return conf.hashDB.retrieve(_, unserialize) if kb.resumeValues and not (checkConf and any([conf.flushSession, conf.freshQueries])) else None
def resetCookieJar(cookieJar):
if not conf.loC:
cookieJar.clear()
else:
try:
cookieJar.load(conf.loC)
cookieJar.clear_expired_cookies()
except cookielib.LoadError, msg:
errMsg = "there was a problem loading "
errMsg += "cookies file ('%s')" % msg
raise sqlmapGenericException, errMsg

View File

@ -44,6 +44,7 @@ from lib.core.common import paths
from lib.core.common import randomRange
from lib.core.common import randomStr
from lib.core.common import readInput
from lib.core.common import resetCookieJar
from lib.core.common import runningAsAdmin
from lib.core.common import sanitizeStr
from lib.core.common import setOptimize
@ -152,12 +153,7 @@ def __urllib2Opener():
conf.cj = cookielib.CookieJar()
else:
conf.cj = cookielib.MozillaCookieJar()
try:
conf.cj.load(conf.loC)
except cookielib.LoadError, msg:
errMsg = "there was a problem loading "
errMsg += "cookies file ('%s')" % msg
raise sqlmapGenericException, errMsg
resetCookieJar(conf.cj)
handlers.append(urllib2.HTTPCookieProcessor(conf.cj))

View File

@ -18,6 +18,7 @@ from lib.core.common import hashDBRetrieve
from lib.core.common import intersect
from lib.core.common import paramToDict
from lib.core.common import readInput
from lib.core.common import resetCookieJar
from lib.core.convert import urldecode
from lib.core.data import cmdLineOptions
from lib.core.data import conf
@ -409,7 +410,7 @@ def initTargetEnv():
conf.hashDB.close()
if conf.cj:
conf.cj.clear()
resetCookieJar(conf.cj)
conf.paramDict = {}
conf.parameters = {}

View File

@ -19,6 +19,7 @@ from lib.core.common import extractErrorMessage
from lib.core.common import extractRegexResult
from lib.core.common import getUnicode
from lib.core.common import readInput
from lib.core.common import resetCookieJar
from lib.core.common import singleTimeLogMessage
from lib.core.data import conf
from lib.core.data import kb
@ -71,7 +72,7 @@ def forgeHeaders(items=None):
headers[HTTPHEADER.COOKIE] += "%s %s=%s" % (DEFAULT_COOKIE_DELIMITER, cookie.name, cookie.value)
if kb.testMode:
conf.cj.clear()
resetCookieJar(conf.cj)
if kb.redirectSetCookie and not conf.dropSetCookie:
if HTTPHEADER.COOKIE in headers: