Re: [sqlmap-users] Bug: Unhandled exception while doing a sql-shell query on MSSQL 2000, blind mode
Brought to you by:
inquisb
|
From: Konrads S. <ko...@sm...> - 2009-01-28 13:56:02
|
Perhaps this diff solves it:
Index: lib/core/agent.py
===================================================================
--- lib/core/agent.py (revision 330)
+++ lib/core/agent.py (working copy)
@@ -458,7 +458,7 @@
elif kb.dbms == "Oracle":
if " ORDER BY " in limitedQuery and "(SELECT " in limitedQuery:
- limitedQuery = limitedQuery[:limitedQuery.index(" ORDER BY
")]
+ limitedQuery = limitedQuery[:limitedQuery.lower().index("
ORDER BY ")]
if query.startswith("SELECT "):
limitedQuery = "%s FROM (%s, %s" % (untilFrom, untilFrom,
limitStr)
@@ -469,7 +469,7 @@
elif kb.dbms == "Microsoft SQL Server":
if " ORDER BY " in limitedQuery:
- limitedQuery = limitedQuery[:limitedQuery.index(" ORDER BY
")]
+ limitedQuery = limitedQuery[:limitedQuery.lower().index("
ORDER BY ")]
if not limitedQuery.startswith("SELECT TOP ") and not
limitedQuery.startswith("TOP "):
limitedQuery = limitedQuery.replace("SELECT ", (limitStr %
1), 1)
Index: lib/request/inject.py
===================================================================
--- lib/request/inject.py (revision 330)
+++ lib/request/inject.py (working copy)
@@ -205,7 +205,7 @@
countedExpression =
expression.replace(expressionFields, countFirstField, 1)
if re.search(" ORDER BY ", expression, re.I):
- untilOrderChar = countedExpression.index(" ORDER BY
")
+ untilOrderChar = countedExpression.lower().index("
ORDER BY ")
countedExpression =
countedExpression[:untilOrderChar]
count = resume(countedExpression, payload)
@@ -342,7 +342,7 @@
if inband and conf.unionUse and kb.dbms:
if kb.dbms == "Oracle" and " ORDER BY " in expression:
- expression = expression[:expression.index(" ORDER BY ")]
+ expression = expression[:expression.lower().index(" ORDER BY
")]
value = __goInband(expression, expected)
Index: lib/techniques/inband/union/use.py
===================================================================
--- lib/techniques/inband/union/use.py (revision 330)
+++ lib/techniques/inband/union/use.py (working copy)
@@ -231,7 +231,7 @@
countedExpression = origExpr.replace(expressionFields,
countFirstField, 1)
if re.search(" ORDER BY ", expression, re.I):
- untilOrderChar = countedExpression.index(" ORDER BY
")
+ untilOrderChar = countedExpression.lower().index("
ORDER BY ")
countedExpression =
countedExpression[:untilOrderChar]
count = resume(countedExpression, None)
--
Konrads Smelkovs
Applied IT sorcery.
On Wed, Jan 28, 2009 at 2:42 PM, Konrads Smelkovs <ko...@sm...>wrote:
> [14:39:38] [INFO] calling Microsoft SQL Server shell. To quit type 'x' or
> 'q' and press ENTER
> sql> select name from sysobjects ORDER by xtype DESC
> [14:39:43] [INFO] fetching SQL SELECT statement query output: 'select name
> from sysobjects ORDER by xtype DESC'
> [14:39:43] [INPUT] can the SQL query provided return multiple entries?
> [Y/n]
> [14:39:44] [ERROR] unhandled exception in sqlmap/0.6.4-rc4, please copy the
> command line and the following text and send by e-mail to
> sql...@li.... The developers will fix it as soon as
> possible:
> sqlmap version: 0.6.4-rc4
> Python version: 2.5.2
> Operating system: linux2
> Traceback (most recent call last):
> File "./sqlmap.py", line 81, in main
> start()
> File "/home/konrads/sqlmap/lib/controller/controller.py", line 255, in
> start
> action()
> File "/home/konrads/sqlmap/lib/controller/action.py", line 126, in action
> conf.dbmsHandler.sqlShell()
> File "/home/konrads/sqlmap/plugins/generic/enumeration.py", line 1117, in
> sqlShell
> output = self.sqlQuery(query)
> File "/home/konrads/sqlmap/plugins/generic/enumeration.py", line 1061, in
> sqlQuery
> output = inject.getValue(query, fromUser=True)
> File "/home/konrads/sqlmap/lib/request/inject.py", line 358, in getValue
> value = __goInferenceProxy(expression, fromUser, expected)
> File "/home/konrads/sqlmap/lib/request/inject.py", line 208, in
> __goInferenceProxy
> untilOrderChar = countedExpression.index(" ORDER BY ")
> ValueError: substring not found
>
> [*] shutting down at: 14:39:44
>
> --
> Konrads Smelkovs
> Applied IT sorcery.
>
|