mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2024-11-25 19:13:48 +03:00
PyPy patch for testing module
This commit is contained in:
parent
08eeb0fd88
commit
aeaa776ca9
|
@ -20,7 +20,7 @@ from thirdparty import six
|
||||||
from thirdparty.six import unichr as _unichr
|
from thirdparty.six import unichr as _unichr
|
||||||
|
|
||||||
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
|
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
|
||||||
VERSION = "1.5.9.27"
|
VERSION = "1.5.9.28"
|
||||||
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
|
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
|
||||||
TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34}
|
TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34}
|
||||||
VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)
|
VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)
|
||||||
|
|
|
@ -433,7 +433,7 @@ def _setHashDB():
|
||||||
if os.path.exists(conf.hashDBFile):
|
if os.path.exists(conf.hashDBFile):
|
||||||
if conf.flushSession:
|
if conf.flushSession:
|
||||||
if conf.hashDB:
|
if conf.hashDB:
|
||||||
conf.hashDB.close()
|
conf.hashDB.closeAll()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
os.remove(conf.hashDBFile)
|
os.remove(conf.hashDBFile)
|
||||||
|
|
|
@ -157,7 +157,7 @@ def vulnTest():
|
||||||
for tag, value in (("<url>", url), ("<base>", base), ("<direct>", direct), ("<tmpdir>", tmpdir), ("<request>", request), ("<log>", log), ("<multiple>", multiple), ("<config>", config), ("<base64>", url.replace("id=1", "id=MZ=%3d"))):
|
for tag, value in (("<url>", url), ("<base>", base), ("<direct>", direct), ("<tmpdir>", tmpdir), ("<request>", request), ("<log>", log), ("<multiple>", multiple), ("<config>", config), ("<base64>", url.replace("id=1", "id=MZ=%3d"))):
|
||||||
options = options.replace(tag, value)
|
options = options.replace(tag, value)
|
||||||
|
|
||||||
cmd = "%s \"%s\" %s --batch --non-interactive --debug" % (sys.executable, os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "sqlmap.py")), options)
|
cmd = "%s \"%s\" %s --batch --non-interactive --debug" % (sys.executable if ' ' not in sys.executable else '"%s"' % sys.executable, os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "sqlmap.py")), options)
|
||||||
|
|
||||||
if "<tmpfile>" in cmd:
|
if "<tmpfile>" in cmd:
|
||||||
handle, tmp = tempfile.mkstemp()
|
handle, tmp = tempfile.mkstemp()
|
||||||
|
|
|
@ -33,6 +33,7 @@ class HashDB(object):
|
||||||
self.filepath = filepath
|
self.filepath = filepath
|
||||||
self._write_cache = {}
|
self._write_cache = {}
|
||||||
self._cache_lock = threading.Lock()
|
self._cache_lock = threading.Lock()
|
||||||
|
self._connections = []
|
||||||
|
|
||||||
def _get_cursor(self):
|
def _get_cursor(self):
|
||||||
threadData = getCurrentThreadData()
|
threadData = getCurrentThreadData()
|
||||||
|
@ -40,6 +41,7 @@ class HashDB(object):
|
||||||
if threadData.hashDBCursor is None:
|
if threadData.hashDBCursor is None:
|
||||||
try:
|
try:
|
||||||
connection = sqlite3.connect(self.filepath, timeout=3, isolation_level=None)
|
connection = sqlite3.connect(self.filepath, timeout=3, isolation_level=None)
|
||||||
|
self._connections.append(connection)
|
||||||
threadData.hashDBCursor = connection.cursor()
|
threadData.hashDBCursor = connection.cursor()
|
||||||
threadData.hashDBCursor.execute("CREATE TABLE IF NOT EXISTS storage (id INTEGER PRIMARY KEY, value TEXT)")
|
threadData.hashDBCursor.execute("CREATE TABLE IF NOT EXISTS storage (id INTEGER PRIMARY KEY, value TEXT)")
|
||||||
connection.commit()
|
connection.commit()
|
||||||
|
@ -66,6 +68,14 @@ class HashDB(object):
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def closeAll(self):
|
||||||
|
for connection in self._connections:
|
||||||
|
try:
|
||||||
|
connection.commit()
|
||||||
|
connection.close()
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def hashKey(key):
|
def hashKey(key):
|
||||||
key = getBytes(key if isinstance(key, six.text_type) else repr(key), errors="xmlcharrefreplace")
|
key = getBytes(key if isinstance(key, six.text_type) else repr(key), errors="xmlcharrefreplace")
|
||||||
|
|
Loading…
Reference in New Issue
Block a user