Skip to content

Commit b74cfbf

Browse files
committedJan 13, 2013
minor enhancements for debug purposes (issue #312)
1 parent fdd6075 commit b74cfbf

File tree

2 files changed

+23
-6
lines changed

2 files changed

+23
-6
lines changed
 

Diff for: ‎lib/core/testing.py

+15-2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
from lib.parse.cmdline import cmdLineParser
3434

3535
failedItem = None
36+
failedParseOn = None
3637

3738
def smokeTest():
3839
"""
@@ -104,6 +105,7 @@ def liveTest():
104105
This will run the test of a program against the live testing environment
105106
"""
106107
global failedItem
108+
global failedParseOn
107109

108110
retVal = True
109111
count = 0
@@ -165,12 +167,18 @@ def liveTest():
165167

166168
if result:
167169
logger.info("test passed")
170+
cleanCase()
168171
else:
169172
errMsg = "test failed "
170173
if failedItem:
171-
errMsg += "at parsing item: %s" % failedItem
174+
errMsg += "at parsing item: %s - scan folder is %s" % (failedItem, paths.SQLMAP_OUTPUT_PATH)
175+
console_output_fd = open("%s%sconsole_output" % (paths.SQLMAP_OUTPUT_PATH, os.sep), "wb")
176+
console_output_fd.write(failedParseOn)
177+
console_output_fd.close()
178+
172179
logger.error(errMsg)
173180
beep()
181+
174182
if conf.stopFail is True:
175183
return retVal
176184

@@ -187,7 +195,9 @@ def liveTest():
187195

188196
def initCase(switches=None):
189197
global failedItem
198+
global failedParseOn
190199
failedItem = None
200+
failedParseOn = None
191201

192202
paths.SQLMAP_OUTPUT_PATH = tempfile.mkdtemp(prefix="sqlmaptest-")
193203
paths.SQLMAP_DUMP_PATH = os.path.join(paths.SQLMAP_OUTPUT_PATH, "%s", "dump")
@@ -210,6 +220,7 @@ def cleanCase():
210220

211221
def runCase(switches=None, parse=None):
212222
global failedItem
223+
global failedParseOn
213224

214225
initCase(switches)
215226

@@ -257,7 +268,9 @@ def runCase(switches=None, parse=None):
257268
failedItem = item
258269
break
259270

260-
cleanCase()
271+
if failedItem is not None:
272+
failedParseOn = console
273+
261274
return retVal
262275

263276
def replaceVars(item, vars_):

Diff for: ‎xml/livetests.xml

+8-4
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@
7676
<db value="testdb"/>
7777
<tbl value="users"/>
7878
<excludeSysDbs value="True"/>
79+
<answers value="do you want to perform a dictionary-based attack against retrieved password hashes=N"/>
7980
</switches>
8081
<parse>
8182
<item value="Title: MySQL &gt;= 5.0 AND error-based - WHERE or HAVING clause"/>
@@ -86,7 +87,7 @@
8687
<item value="hostname: 'debian"/>
8788
<item value="current user is DBA: True"/>
8889
<item value="r'database management system users \[.+'debian-sys-maint'@'localhost'.+'root'@''"/>
89-
<item value="r'database management system users password hashes:.+root \[.+password hash: \*00E247AC5F9AF26AE0194B41E1E769DEE1429A29.+clear-text password: testpass'"/>
90+
<item value="r'database management system users password hashes:.+root \[.+password hash: \*00E247AC5F9AF26AE0194B41E1E769DEE1429A29'"/>
9091
<item value="r'database management system users privileges:.+debian-sys-maint.+\(administrator\).+root.+\(administrator\).+privilege: SUPER'"/>
9192
<item value="r'database management system users roles:.+debian-sys-maint.+\[.+root.+\[.+role: SUPER'"/>
9293
<item value="r'available databases \[.+information_schema.+mysql.+owasp10.+testdb'"/>
@@ -119,6 +120,7 @@
119120
<db value="testdb"/>
120121
<tbl value="users"/>
121122
<excludeSysDbs value="True"/>
123+
<answers value="do you want to perform a dictionary-based attack against retrieved password hashes=N"/>
122124
</switches>
123125
<parse>
124126
<item value="Title: MySQL UNION query (NULL) - 3 columns"/>
@@ -129,7 +131,7 @@
129131
<item value="hostname: 'debian"/>
130132
<item value="current user is DBA: True"/>
131133
<item value="r'database management system users \[.+'debian-sys-maint'@'localhost'.+'root'@''"/>
132-
<item value="r'database management system users password hashes:.+root \[.+password hash: \*00E247AC5F9AF26AE0194B41E1E769DEE1429A29.+clear-text password: testpass'"/>
134+
<item value="r'database management system users password hashes:.+root \[.+password hash: \*00E247AC5F9AF26AE0194B41E1E769DEE1429A29'"/>
133135
<item value="r'database management system users privileges:.+debian-sys-maint.+\(administrator\).+root.+\(administrator\).+privilege: SUPER'"/>
134136
<item value="r'database management system users roles:.+debian-sys-maint.+\[.+root.+\[.+role: SUPER'"/>
135137
<item value="r'available databases \[.+information_schema.+mysql.+owasp10.+testdb'"/>
@@ -162,6 +164,7 @@
162164
<db value="testdb"/>
163165
<tbl value="users"/>
164166
<excludeSysDbs value="True"/>
167+
<answers value="do you want to perform a dictionary-based attack against retrieved password hashes=N"/>
165168
</switches>
166169
<parse>
167170
<item value="Title: MySQL UNION query (NULL) - 3 columns"/>
@@ -172,7 +175,7 @@
172175
<item value="hostname: 'debian"/>
173176
<item value="current user is DBA: True"/>
174177
<item value="r'database management system users \[.+'debian-sys-maint'@'localhost'.+'root'@''"/>
175-
<item value="r'database management system users password hashes:.+root \[.+password hash: \*00E247AC5F9AF26AE0194B41E1E769DEE1429A29.+clear-text password: testpass'"/>
178+
<item value="r'database management system users password hashes:.+root \[.+password hash: \*00E247AC5F9AF26AE0194B41E1E769DEE1429A29'"/>
176179
<item value="r'database management system users privileges:.+debian-sys-maint.+\(administrator\).+root.+\(administrator\).+privilege: SUPER'"/>
177180
<item value="r'database management system users roles:.+debian-sys-maint.+\[.+root.+\[.+role: SUPER'"/>
178181
<item value="r'available databases \[.+information_schema.+mysql.+owasp10.+testdb'"/>
@@ -219,6 +222,7 @@
219222
<db value="testdb"/>
220223
<tbl value="users"/>
221224
<excludeSysDbs value="True"/>
225+
<answers value="do you want to perform a dictionary-based attack against retrieved password hashes=N"/>
222226
</switches>
223227
<parse>
224228
<item value="Title: MySQL inline queries"/>
@@ -229,7 +233,7 @@
229233
<item value="hostname: 'debian"/>
230234
<item value="current user is DBA: True"/>
231235
<item value="r'database management system users \[.+'debian-sys-maint'@'localhost'.+'root'@''"/>
232-
<item value="r'database management system users password hashes:.+root \[.+password hash: \*00E247AC5F9AF26AE0194B41E1E769DEE1429A29.+clear-text password: testpass'"/>
236+
<item value="r'database management system users password hashes:.+root \[.+password hash: \*00E247AC5F9AF26AE0194B41E1E769DEE1429A29'"/>
233237
<item value="r'database management system users privileges:.+debian-sys-maint.+\(administrator\).+root.+\(administrator\).+privilege: SUPER'"/>
234238
<item value="r'database management system users roles:.+debian-sys-maint.+\[.+root.+\[.+role: SUPER'"/>
235239
<item value="r'available databases \[.+information_schema.+mysql.+owasp10.+testdb'"/>

0 commit comments

Comments
 (0)
Please sign in to comment.