File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2020from lib .core .revision import getRevisionNumber
2121
2222# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
23- VERSION = "1.0.4.12 "
23+ VERSION = "1.0.4.13 "
2424REVISION = getRevisionNumber ()
2525STABLE = VERSION .count ('.' ) <= 2
2626VERSION_STRING = "sqlmap/%s#%s" % (VERSION , "stable" if STABLE else "dev" )
Original file line number Diff line number Diff line change @@ -24,7 +24,8 @@ def __init__(self, page):
2424 ContentHandler .__init__ (self )
2525
2626 self ._dbms = None
27- self ._page = page
27+ self ._page = (page or "" )
28+ self ._lower_page = self ._page .lower ()
2829
2930 self .dbms = None
3031
@@ -33,11 +34,20 @@ def _markAsErrorPage(self):
3334 threadData .lastErrorPage = (threadData .lastRequestUID , self ._page )
3435
3536 def startElement (self , name , attrs ):
37+ if self .dbms :
38+ return
39+
3640 if name == "dbms" :
3741 self ._dbms = attrs .get ("value" )
3842
3943 elif name == "error" :
40- if re .search (attrs .get ("regexp" ), self ._page , re .I ):
44+ regexp = attrs .get ("regexp" )
45+ if regexp not in kb .cache .regex :
46+ keywords = re .findall ("\w+" , re .sub (r"\\." , " " , regexp ))
47+ keywords = sorted (keywords , key = len )
48+ kb .cache .regex [regexp ] = keywords [- 1 ].lower ()
49+
50+ if kb .cache .regex [regexp ] in self ._lower_page and re .search (regexp , self ._page , re .I ):
4151 self .dbms = self ._dbms
4252 self ._markAsErrorPage ()
4353
You can’t perform that action at this time.
0 commit comments