Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 32ab52b

Browse files
committed
code refactoring: split boundaries and payloads XML files
1 parent 863d5a6 commit 32ab52b

5 files changed

Lines changed: 546 additions & 519 deletions

File tree

lib/core/common.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1085,6 +1085,7 @@ def setPaths():
10851085
paths.SQLMAP_UDF_PATH = os.path.join(paths.SQLMAP_ROOT_PATH, "udf")
10861086
paths.SQLMAP_XML_PATH = os.path.join(paths.SQLMAP_ROOT_PATH, "xml")
10871087
paths.SQLMAP_XML_BANNER_PATH = os.path.join(paths.SQLMAP_XML_PATH, "banner")
1088+
paths.SQLMAP_XML_PAYLOADS_PATH = os.path.join(paths.SQLMAP_XML_PATH, "payloads")
10881089

10891090
_ = os.path.join(os.path.expanduser("~"), ".sqlmap")
10901091
paths.SQLMAP_OUTPUT_PATH = getUnicode(paths.get("SQLMAP_OUTPUT_PATH", os.path.join(_, "output")), encoding=sys.getfilesystemencoding())
@@ -1105,7 +1106,7 @@ def setPaths():
11051106
paths.USER_AGENTS = os.path.join(paths.SQLMAP_TXT_PATH, "user-agents.txt")
11061107
paths.WORDLIST = os.path.join(paths.SQLMAP_TXT_PATH, "wordlist.zip")
11071108
paths.ERRORS_XML = os.path.join(paths.SQLMAP_XML_PATH, "errors.xml")
1108-
paths.PAYLOADS_XML = os.path.join(paths.SQLMAP_XML_PATH, "payloads.xml")
1109+
paths.BOUNDARIES_XML = os.path.join(paths.SQLMAP_XML_PATH, "boundaries.xml")
11091110
paths.LIVE_TESTS_XML = os.path.join(paths.SQLMAP_XML_PATH, "livetests.xml")
11101111
paths.QUERIES_XML = os.path.join(paths.SQLMAP_XML_PATH, "queries.xml")
11111112
paths.GENERIC_XML = os.path.join(paths.SQLMAP_XML_BANNER_PATH, "generic.xml")

lib/core/option.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@
130130
from lib.core.threads import getCurrentThreadData
131131
from lib.core.update import update
132132
from lib.parse.configfile import configFileParser
133+
from lib.parse.payloads import loadBoundaries
133134
from lib.parse.payloads import loadPayloads
134135
from lib.parse.sitemap import parseSitemap
135136
from lib.request.basic import checkCharEncoding
@@ -2400,6 +2401,7 @@ def init():
24002401
_setWriteFile()
24012402
_setMetasploit()
24022403
_setDBMSAuthentication()
2404+
loadBoundaries()
24032405
loadPayloads()
24042406
_setPrefixSuffix()
24052407
update()

lib/parse/payloads.py

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
See the file 'doc/COPYING' for copying permission
66
"""
77

8+
import os
9+
810
from xml.etree import ElementTree as et
911

1012
from lib.core.data import conf
@@ -67,14 +69,32 @@ def parseXmlNode(node):
6769

6870
conf.tests.append(test)
6971

70-
def loadPayloads():
72+
def loadBoundaries():
7173
try:
72-
doc = et.parse(paths.PAYLOADS_XML)
74+
doc = et.parse(paths.BOUNDARIES_XML)
7375
except Exception, ex:
7476
errMsg = "something seems to be wrong with "
75-
errMsg += "the file '%s' ('%s'). Please make " % (paths.PAYLOADS_XML, ex)
77+
errMsg += "the file '%s' ('%s'). Please make " % (paths.BOUNDARIES_XML, ex)
7678
errMsg += "sure that you haven't made any changes to it"
7779
raise SqlmapInstallationException, errMsg
7880

7981
root = doc.getroot()
8082
parseXmlNode(root)
83+
84+
def loadPayloads():
85+
payloadFiles = os.listdir(paths.SQLMAP_XML_PAYLOADS_PATH)
86+
payloadFiles.sort()
87+
88+
for payloadFile in payloadFiles:
89+
payloadFilePath = os.path.join(paths.SQLMAP_XML_PAYLOADS_PATH, payloadFile)
90+
91+
try:
92+
doc = et.parse(payloadFilePath)
93+
except Exception, ex:
94+
errMsg = "something seems to be wrong with "
95+
errMsg += "the file '%s' ('%s'). Please make " % (payloadFilePath, ex)
96+
errMsg += "sure that you haven't made any changes to it"
97+
raise SqlmapInstallationException, errMsg
98+
99+
root = doc.getroot()
100+
parseXmlNode(root)

0 commit comments

Comments
 (0)