diff --git a/lib/core/settings.py b/lib/core/settings.py index cc7a85a66..40144c801 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -19,7 +19,7 @@ from lib.core.enums import DBMS_DIRECTORY_NAME from lib.core.enums import OS # sqlmap version (...) -VERSION = "1.2.12.32" +VERSION = "1.2.12.33" TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable" TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34} VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE) diff --git a/txt/checksum.md5 b/txt/checksum.md5 index 367a04d82..f7a08957a 100644 --- a/txt/checksum.md5 +++ b/txt/checksum.md5 @@ -49,7 +49,7 @@ c8c386d644d57c659d74542f5f57f632 lib/core/patch.py 0c3eef46bdbf87e29a3f95f90240d192 lib/core/replication.py a7db43859b61569b601b97f187dd31c5 lib/core/revision.py fcb74fcc9577523524659ec49e2e964b lib/core/session.py -de90de0ae57ff593bb50dc6d150e2b7b lib/core/settings.py +43eec1a3d017f1d440b89e9ecf3f2ff8 lib/core/settings.py a971ce157d04de96ba6e710d3d38a9a8 lib/core/shell.py a7edc9250d13af36ac0108f259859c19 lib/core/subprocessng.py 1581be48127a3a7a9fd703359b6e7567 lib/core/target.py @@ -409,6 +409,7 @@ ef722d062564def381b1f96f5faadee3 waf/baidu.py 44f724ab7d333397975fecdf7e50be56 waf/bigip.py 6a2834daf767491d3331bd31e946d540 waf/binarysec.py 41e399dbfe7b904d5aacfb37d85e1fbf waf/blockdos.py +6d505434a13365cbe3b01f912ea36a44 waf/bluedon.py c52c6974c0dae6815f27cfdee6121d7b waf/chinacache.py 2f3bbf43be94d4e9ffe9f80e8483d62f waf/ciscoacexml.py ba84f296cb52f5e78a0670b98d7763fa waf/cloudbric.py diff --git a/waf/bluedon.py b/waf/bluedon.py new file mode 100644 index 000000000..678f5e423 --- /dev/null +++ b/waf/bluedon.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python + +""" +Copyright (c) 2006-2018 sqlmap developers (http://sqlmap.org/) +See the file 'LICENSE' for copying permission +""" + +import re + +from lib.core.enums import HTTP_HEADER +from lib.core.settings import WAF_ATTACK_VECTORS + +__product__ = "Bluedon Web Application Firewall (Bluedon Information Security Technology)" + +def detect(get_page): + retval = False + + for vector in WAF_ATTACK_VECTORS: + page, headers, code = get_page(get=vector) + retval = re.search(r"BDWAF", headers.get(HTTP_HEADER.SERVER, ""), re.I) is not None + retval |= re.search(r"Bluedon Web Application Firewall", page or "", re.I) is not None + if retval: + break + + return retval