@@ -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