Add missing Base64 transformation statements to parser

This commit is contained in:
Victor Hora 2018-02-12 00:35:00 -05:00 committed by Felipe Zimmerle
parent e3b6b4ccff
commit ab78b0cfb1
No known key found for this signature in database
GPG Key ID: E6DFB08CE8B11277
6 changed files with 7972 additions and 7649 deletions

View File

@ -1,6 +1,8 @@
v3.0.x - YYYY-MMM-DD (To be released)
-------------------------------------
- Add missing Base64 transformation statements to parser
[Issue #1632 - @victorhora, @zimmerle]
- Fixed resource load on ip match from file
[#1674 - @zimmerle, @StefaanSeys]
- Fixed examples compilation while using disable-shared

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -560,6 +560,9 @@ using modsecurity::operators::Operator;
ACTION_SKIP_AFTER "SkipAfter"
ACTION_STATUS "Status"
ACTION_TAG "Tag"
ACTION_TRANSFORMATION_BASE_64_ENCODE "ACTION_TRANSFORMATION_BASE_64_ENCODE"
ACTION_TRANSFORMATION_BASE_64_DECODE "ACTION_TRANSFORMATION_BASE_64_DECODE"
ACTION_TRANSFORMATION_BASE_64_DECODE_EXT "ACTION_TRANSFORMATION_BASE_64_DECODE_EXT"
ACTION_TRANSFORMATION_CMD_LINE "ACTION_TRANSFORMATION_CMD_LINE"
ACTION_TRANSFORMATION_COMPRESS_WHITESPACE "ACTION_TRANSFORMATION_COMPRESS_WHITESPACE"
ACTION_TRANSFORMATION_CSS_DECODE "ACTION_TRANSFORMATION_CSS_DECODE"
@ -2564,6 +2567,18 @@ act:
{
ACTION_CONTAINER($$, new actions::transformations::SqlHexDecode($1));
}
| ACTION_TRANSFORMATION_BASE_64_ENCODE
{
ACTION_CONTAINER($$, new actions::transformations::Base64Encode($1));
}
| ACTION_TRANSFORMATION_BASE_64_DECODE
{
ACTION_CONTAINER($$, new actions::transformations::Base64Decode($1));
}
| ACTION_TRANSFORMATION_BASE_64_DECODE_EXT
{
ACTION_CONTAINER($$, new actions::transformations::Base64DecodeExt($1));
}
| ACTION_TRANSFORMATION_CMD_LINE
{
ACTION_CONTAINER($$, new actions::transformations::CmdLine($1));

File diff suppressed because it is too large Load Diff

View File

@ -132,7 +132,10 @@ ACTION_SKIP (?i:skip)
ACTION_STATUS (?i:status:[0-9]+)
ACTION_TAG (?i:tag)
ACTION_VER (?i:ver)
ACTION_XMLNS (?i:xmlns)
ACTION_XMLNS (?i:xmlns)
ACTION_TRANSFORMATION_BASE_64_ENCODE (?i:t:base64Encode)
ACTION_TRANSFORMATION_BASE_64_DECODE (?i:t:base64Decode)
ACTION_TRANSFORMATION_BASE_64_DECODE_EXT (?i:t:base64DecodeExt)
ACTION_TRANSFORMATION_CMD_LINE (?i:t:cmdLine)
ACTION_TRANSFORMATION_COMPRESS_WHITESPACE (?i:t:compressWhitespace)
ACTION_TRANSFORMATION_CSS_DECODE (?i:t:cssDecode)
@ -542,6 +545,9 @@ EQUALS_MINUS (?i:=\-)
{ACTION_TRANSFORMATION_PARITY_ODD_7_BIT} { return p::make_ACTION_TRANSFORMATION_PARITY_ODD_7_BIT(yytext, *driver.loc.back()); }
{ACTION_TRANSFORMATION_PARITY_EVEN_7_BIT} { return p::make_ACTION_TRANSFORMATION_PARITY_EVEN_7_BIT(yytext, *driver.loc.back()); }
{ACTION_TRANSFORMATION_SQL_HEX_DECODE} { return p::make_ACTION_TRANSFORMATION_SQL_HEX_DECODE(yytext, *driver.loc.back()); }
{ACTION_TRANSFORMATION_BASE_64_ENCODE} { return p::make_ACTION_TRANSFORMATION_BASE_64_ENCODE(yytext, *driver.loc.back()); }
{ACTION_TRANSFORMATION_BASE_64_DECODE} { return p::make_ACTION_TRANSFORMATION_BASE_64_DECODE(yytext, *driver.loc.back()); }
{ACTION_TRANSFORMATION_BASE_64_DECODE_EXT} { return p::make_ACTION_TRANSFORMATION_BASE_64_DECODE_EXT(yytext, *driver.loc.back()); }
{ACTION_TRANSFORMATION_CMD_LINE} { return p::make_ACTION_TRANSFORMATION_CMD_LINE(yytext, *driver.loc.back()); }
{ACTION_TRANSFORMATION_SHA1} { return p::make_ACTION_TRANSFORMATION_SHA1(yytext, *driver.loc.back()); }
{ACTION_TRANSFORMATION_MD5} { return p::make_ACTION_TRANSFORMATION_MD5(yytext, *driver.loc.back()); }