diff --git a/plugins/generic/search.py b/plugins/generic/search.py
index 6527efca2..5b21f4420 100644
--- a/plugins/generic/search.py
+++ b/plugins/generic/search.py
@@ -16,6 +16,7 @@ from lib.core.common import isNumPosStrValue
from lib.core.common import isTechniqueAvailable
from lib.core.common import readInput
from lib.core.common import safeSQLIdentificatorNaming
+from lib.core.common import safeStringFormat
from lib.core.common import unArrayizeValue
from lib.core.common import unsafeSQLIdentificatorNaming
from lib.core.data import conf
@@ -157,8 +158,6 @@ class Search:
foundTbls = {}
tblList = conf.tbl.split(",")
- import pdb
- pdb.set_trace()
rootQuery = queries[Backend.getIdentifiedDbms()].search_table
tblCond = rootQuery.inband.condition
dbCond = rootQuery.inband.condition2
@@ -300,13 +299,16 @@ class Search:
for index in indexRange:
query = rootQuery.blind.query2
+ if query.endswith("'%s')"):
+ query = query[:-1] + " AND %s)" % tblQuery
+ else:
+ query += " AND %s" % tblQuery
+
if Backend.isDbms(DBMS.FIREBIRD):
- query = query % index
+ query = safeStringFormat(query, index)
if Backend.getIdentifiedDbms() not in (DBMS.SQLITE, DBMS.FIREBIRD):
- query = query % unsafeSQLIdentificatorNaming(db)
-
- query += " AND %s" % tblQuery
+ query = safeStringFormat(query, unsafeSQLIdentificatorNaming(db))
if not Backend.isDbms(DBMS.FIREBIRD):
query = agent.limitQuery(index, query)
diff --git a/xml/queries.xml b/xml/queries.xml
index 6ec0ac717..c330a35cb 100644
--- a/xml/queries.xml
+++ b/xml/queries.xml
@@ -283,11 +283,11 @@
-
+
-
+