diff --git a/lib/core/settings.py b/lib/core/settings.py index 867874692..dd9df17aa 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -19,7 +19,7 @@ from lib.core.enums import OS from lib.core.revision import getRevisionNumber # sqlmap version (...) -VERSION = "1.0.7.9" +VERSION = "1.0.7.10" REVISION = getRevisionNumber() STABLE = VERSION.count('.') <= 2 VERSION_STRING = "sqlmap/%s#%s" % (VERSION, "stable" if STABLE else "dev") @@ -612,7 +612,7 @@ MAX_HELP_OPTION_LENGTH = 18 MAX_CONNECT_RETRIES = 100 # Strings for detecting formatting errors -FORMAT_EXCEPTION_STRINGS = ("Type mismatch", "Error converting", "Conversion failed", "String or binary data would be truncated", "Failed to convert", "unable to interpret text value", "Input string was not in a correct format", "System.FormatException", "java.lang.NumberFormatException", "ValueError: invalid literal", "DataTypeMismatchException", "CF_SQL_INTEGER", "InvalidParamTypeException", "Invalid parameter type", "__VIEWSTATE[^"]*)[^>]+value="(?P[^"]+)' diff --git a/waf/modsecurity.py b/waf/modsecurity.py index 89e14e3d3..67eaa1ca3 100644 --- a/waf/modsecurity.py +++ b/waf/modsecurity.py @@ -17,8 +17,7 @@ def detect(get_page): for vector in WAF_ATTACK_VECTORS: page, headers, code = get_page(get=vector) - retval = code == 501 and re.search(r"Reference #[0-9A-Fa-f.]+", page or "", re.I) is None - retval |= re.search(r"Mod_Security|NOYB", headers.get(HTTP_HEADER.SERVER, ""), re.I) is not None + retval = re.search(r"Mod_Security|NOYB", headers.get(HTTP_HEADER.SERVER, ""), re.I) is not None retval |= "This error was generated by Mod_Security" in (page or "") if retval: break diff --git a/waf/sonicwall.py b/waf/sonicwall.py index 99fcec7ac..af4241287 100644 --- a/waf/sonicwall.py +++ b/waf/sonicwall.py @@ -18,6 +18,7 @@ def detect(get_page): for vector in WAF_ATTACK_VECTORS: page, headers, _ = get_page(get=vector) retval = "This request is blocked by the SonicWALL" in (page or "") + retval |= re.search(r"Web Site Blocked.+\bnsa_banner", page or "", re.I) is not None retval |= re.search(r"SonicWALL", headers.get(HTTP_HEADER.SERVER, ""), re.I) is not None if retval: break