2222Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
2323"""
2424
25-
26-
2725import re
2826
2927from lib .core .common import dataToSessionFile
3432from lib .core .unescaper import unescaper
3533from lib .techniques .blind .inference import bisection
3634
37-
3835def queryOutputLength (expression , payload ):
3936 """
4037 Returns the query output length.
@@ -45,14 +42,17 @@ def queryOutputLength(expression, payload):
4542 select = re .search ("\ASELECT\s+" , expression , re .I )
4643 selectTopExpr = re .search ("\ASELECT\s+TOP\s+[\d]+\s+(.+?)\s+FROM" , expression , re .I )
4744 selectDistinctExpr = re .search ("\ASELECT\s+DISTINCT\((.+?)\)\s+FROM" , expression , re .I )
48- selectExpr = re .search ("\ASELECT\s+(.+?)\s+FROM" , expression , re .I )
45+ selectFromExpr = re .search ("\ASELECT\s+(.+?)\s+FROM" , expression , re .I )
46+ selectExpr = re .search ("\ASELECT\s+(.+)$" , expression , re .I )
4947 miscExpr = re .search ("\A(.+)" , expression , re .I )
5048
51- if selectTopExpr or selectDistinctExpr or selectExpr :
49+ if selectTopExpr or selectDistinctExpr or selectFromExpr or selectExpr :
5250 if selectTopExpr :
5351 regExpr = selectTopExpr .groups ()[0 ]
5452 elif selectDistinctExpr :
5553 regExpr = selectDistinctExpr .groups ()[0 ]
54+ elif selectFromExpr :
55+ regExpr = selectFromExpr .groups ()[0 ]
5656 elif selectExpr :
5757 regExpr = selectExpr .groups ()[0 ]
5858 elif miscExpr :
@@ -84,7 +84,6 @@ def queryOutputLength(expression, payload):
8484
8585 return count , length , regExpr
8686
87-
8887def resume (expression , payload ):
8988 """
9089 This function can be called to resume part or entire output of a
0 commit comments