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

Skip to content

Commit ff5bdbe

Browse files
committed
Minor refactoring
1 parent 190cf4b commit ff5bdbe

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

lib/core/common.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1475,22 +1475,24 @@ def expandAsteriskForColumns(expression):
14751475
the SQL query string (expression)
14761476
"""
14771477

1478-
asterisk = re.search("^SELECT(\s+TOP\s+[\d]+)?\s+\*\s+FROM\s+`?([^`\s()]+)", expression, re.I)
1478+
asterisk = re.search(r"(?i)\ASELECT(\s+TOP\s+[\d]+)?\s+\*\s+FROM\s+`?([^`\s()]+)", expression)
14791479

14801480
if asterisk:
14811481
infoMsg = "you did not provide the fields in your query. "
14821482
infoMsg += "sqlmap will retrieve the column names itself"
14831483
logger.info(infoMsg)
14841484

1485-
_ = asterisk.group(2).replace("..", ".").replace(".dbo.", ".")
1486-
db, conf.tbl = _.split(".", 1) if '.' in _ else (None, _)
1485+
_ = asterisk.group(2).replace("..", '.').replace(".dbo.", '.')
1486+
db, conf.tbl = _.split('.', 1) if '.' in _ else (None, _)
1487+
14871488
if db is None:
14881489
if expression != conf.query:
14891490
conf.db = db
14901491
else:
14911492
expression = re.sub(r"([^\w])%s" % re.escape(conf.tbl), "\g<1>%s.%s" % (conf.db, conf.tbl), expression)
14921493
else:
14931494
conf.db = db
1495+
14941496
conf.db = safeSQLIdentificatorNaming(conf.db)
14951497
conf.tbl = safeSQLIdentificatorNaming(conf.tbl, True)
14961498

@@ -1500,7 +1502,7 @@ def expandAsteriskForColumns(expression):
15001502
columns = columnsDict[conf.db][conf.tbl].keys()
15011503
columns.sort()
15021504
columnsStr = ", ".join(column for column in columns)
1503-
expression = expression.replace("*", columnsStr, 1)
1505+
expression = expression.replace('*', columnsStr, 1)
15041506

15051507
infoMsg = "the query with expanded column name(s) is: "
15061508
infoMsg += "%s" % expression
@@ -1548,7 +1550,7 @@ def parseUnionPage(page):
15481550
if page is None:
15491551
return None
15501552

1551-
if re.search("(?si)\A%s.*%s\Z" % (kb.chars.start, kb.chars.stop), page):
1553+
if re.search(r"(?si)\A%s.*%s\Z" % (kb.chars.start, kb.chars.stop), page):
15521554
if len(page) > LARGE_OUTPUT_THRESHOLD:
15531555
warnMsg = "large output detected. This might take a while"
15541556
logger.warn(warnMsg)

0 commit comments

Comments
 (0)