同步操作将从 yeqingchen1/sqlmap 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#!/usr/bin/env python"""Copyright (c) 2006-2019 sqlmap developers (http://sqlmap.org/)See the file 'LICENSE' for copying permission"""import refrom xml.sax.handler import ContentHandlerfrom lib.core.common import urldecodefrom lib.core.common import parseXmlFilefrom lib.core.data import kbfrom lib.core.data import pathsfrom lib.core.threads import getCurrentThreadDataclass HTMLHandler(ContentHandler):"""This class defines methods to parse the input HTML page tofingerprint the back-end database management system"""def __init__(self, page):ContentHandler.__init__(self)self._dbms = Noneself._page = (page or "")self._lower_page = self._page.lower()self._urldecoded_page = urldecode(self._page)self.dbms = Nonedef _markAsErrorPage(self):threadData = getCurrentThreadData()threadData.lastErrorPage = (threadData.lastRequestUID, self._page)def startElement(self, name, attrs):if self.dbms:returnif name == "dbms":self._dbms = attrs.get("value")elif name == "error":regexp = attrs.get("regexp")if regexp not in kb.cache.regex:keywords = re.findall(r"\w+", re.sub(r"\\.", " ", regexp))keywords = sorted(keywords, key=len)kb.cache.regex[regexp] = keywords[-1].lower()if kb.cache.regex[regexp] in self._lower_page and re.search(regexp, self._urldecoded_page, re.I):self.dbms = self._dbmsself._markAsErrorPage()def htmlParser(page):"""This function calls a class that parses the input HTML page tofingerprint the back-end database management system"""xmlfile = paths.ERRORS_XMLhandler = HTMLHandler(page)key = hash(page)if key in kb.cache.parsedDbms:retVal = kb.cache.parsedDbms[key]if retVal:handler._markAsErrorPage()return retValparseXmlFile(xmlfile, handler)if handler.dbms and handler.dbms not in kb.htmlFp:kb.lastParserStatus = handler.dbmskb.htmlFp.append(handler.dbms)else:kb.lastParserStatus = Nonekb.cache.parsedDbms[key] = handler.dbms# generic SQL warning/error messagesif re.search(r"SQL (warning|error|syntax)", page, re.I):handler._markAsErrorPage()return handler.dbms
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。