From ca90591845d84276e826d998254f12e22a268e55 Mon Sep 17 00:00:00 2001
From: globisz <0.globi@gmail.com>
Date: Wed, 23 Mar 2016 14:54:15 +0100
Subject: [PATCH] Use LIMIT %d OFFSET %d insetad of LIMIT %d,%d in blind sql
injection on MySQL dbms
---
lib/core/agent.py | 6 +++++-
xml/queries.xml | 18 +++++++++---------
2 files changed, 14 insertions(+), 10 deletions(-)
diff --git a/lib/core/agent.py b/lib/core/agent.py
index b4414d7d7..c609b2f8a 100644
--- a/lib/core/agent.py
+++ b/lib/core/agent.py
@@ -886,7 +886,11 @@ class Agent(object):
fromFrom = limitedQuery[fromIndex + 1:]
orderBy = None
- if Backend.getIdentifiedDbms() in (DBMS.MYSQL, DBMS.PGSQL, DBMS.SQLITE):
+ if Backend.isDbms(DBMS.MYSQL):
+ limitStr = queries[Backend.getIdentifiedDbms()].limit.query % (1, num)
+ limitedQuery += " %s" % limitStr
+
+ elif Backend.getIdentifiedDbms() in (DBMS.PGSQL, DBMS.SQLITE):
limitStr = queries[Backend.getIdentifiedDbms()].limit.query % (num, 1)
limitedQuery += " %s" % limitStr
diff --git a/xml/queries.xml b/xml/queries.xml
index 98b79cac7..ceca2f28e 100644
--- a/xml/queries.xml
+++ b/xml/queries.xml
@@ -7,7 +7,7 @@
-
+
@@ -26,28 +26,28 @@
-
-
+
+
-
+
-
+
-
+
-
+
-
+
@@ -55,7 +55,7 @@
-
+