PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` # Generated by default/object.tt package Paws::WAFV2::TextTransformation; use Moose; has Priority => (is => 'ro', isa => 'Int', required => 1); has Type => (is => 'ro', isa => 'Str', required => 1); 1; ### main pod documentation begin ### =head1 NAME Paws::WAFV2::TextTransformation =head1 USAGE This class represents one of two things: =head3 Arguments in a call to a service Use the attributes of this class as arguments to methods. You shouldn't make instances of this class. Each attribute should be used as a named argument in the calls that expect this type of object. As an example, if Att1 is expected to be a Paws::WAFV2::TextTransformation object: $service_obj->Method(Att1 => { Priority => $value, ..., Type => $value }); =head3 Results returned from an API call Use accessors for each attribute. If Att1 is expected to be an Paws::WAFV2::TextTransformation object: $result = $service_obj->Method(...); $result->Att1->Priority =head1 DESCRIPTION Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. =head1 ATTRIBUTES =head2 B Priority => Int Sets the relative processing order for multiple transformations that are defined for a rule statement. WAF processes all transformations, from lowest priority to highest, before inspecting the transformed content. The priorities don't need to be consecutive, but they must all be different. =head2 B Type => Str You can specify the following transformation types: B - Decode a C-encoded string. B - Decode a C-encoded string, but use a forgiving implementation that ignores characters that aren't valid. B - Command-line transformations. These are helpful in reducing effectiveness of attackers who inject an operating system command-line command and use unusual formatting to disguise some or all of the command. =over =item * Delete the following characters: C<\ " ' ^> =item * Delete spaces before the following characters: C =item * Replace the following characters with a space: C<, ;> =item * Replace multiple spaces with one space =item * Convert uppercase letters (A-Z) to lowercase (a-z) =back B - Replace these characters with a space character (decimal 32): =over =item * C<\f>, formfeed, decimal 12 =item * C<\t>, tab, decimal 9 =item * C<\n>, newline, decimal 10 =item * C<\r>, carriage return, decimal 13 =item * C<\v>, vertical tab, decimal 11 =item * Non-breaking space, decimal 160 =back C also replaces multiple spaces with one space. B - Decode characters that were encoded using CSS 2.x escape rules C. This function uses up to two bytes in the decoding process, so it can help to uncover ASCII characters that were encoded using CSS encoding that wouldnEt typically be encoded. It's also useful in countering evasion, which is a combination of a backslash and non-hexadecimal characters. For example, C for javascript. B - Decode the following ANSI C escape sequences: C<\a>, C<\b>, C<\f>, C<\n>, C<\r>, C<\t>, C<\v>, C<\\>, C<\?>, C<\'>, C<\">, C<\xHH> (hexadecimal), C<\0OOO> (octal). Encodings that aren't valid remain in the output. B - Decode a string of hexadecimal characters into a binary. B - Replace HTML-encoded characters with unencoded characters. C performs these operations: =over =item * Replaces C<(ampersand)quot;> with C<"> =item * Replaces C<(ampersand)nbsp;> with a non-breaking space, decimal 160 =item * Replaces C<(ampersand)lt;> with a "less than" symbol =item * Replaces C<(ampersand)gt;> with C> =item * Replaces characters that are represented in hexadecimal format, C<(ampersand)(hash)xhhhh;>, with the corresponding characters =item * Replaces characters that are represented in decimal format, C<(ampersand)(hash)nnnn;>, with the corresponding characters =back B - Decode JavaScript escape sequences. If a C<\> C C code is in the full-width ASCII code range of C, then the higher byte is used to detect and adjust the lower byte. If not, only the lower byte is used and the higher byte is zeroed, causing a possible loss of information. B - Convert uppercase letters (A-Z) to lowercase (a-z). B - Calculate an MD5 hash from the data in the input. The computed hash is in a raw binary form. B - Specify C if you don't want any text transformations. B - Remove multiple slashes, directory self-references, and directory back-references that are not at the beginning of the input from an input string. B - This is the same as C, but first converts backslash characters to forward slashes. B - Remove all C bytes from the input. B - Replace each occurrence of a C-style comment (C) with a single space. Multiple consecutive occurrences are not compressed. Unterminated comments are also replaced with a space (ASCII 0x20). However, a standalone termination of a comment (C<*/>) is not acted upon. B - Replace NULL bytes in the input with space characters (ASCII C<0x20>). B - Decode the following ANSI C escape sequences: C<\a>, C<\b>, C<\f>, C<\n>, C<\r>, C<\t>, C<\v>, C<\\>, C<\?>, C<\'>, C<\">, C<\xHH> (hexadecimal), C<\0OOO> (octal). Encodings that aren't valid remain in the output. B - Decode a URL-encoded value. B - Like C, but with support for Microsoft-specific C<%u> encoding. If the code is in the full-width ASCII code range of C, the higher byte is used to detect and adjust the lower byte. Otherwise, only the lower byte is used and the higher byte is zeroed. B - Convert all UTF-8 character sequences to Unicode. This helps input normalization, and minimizing false-positives and false-negatives for non-English languages. =head1 SEE ALSO This class forms part of L, describing an object used in L =head1 BUGS and CONTRIBUTIONS The source code is located here: L Please report bugs to: L =cut