Appendix 1: RE2 Regex
JANUSEC Application Gateway uses Google RE2 Regular Expression 。
Regex Rule Example 1
Checkpoint: URLPath
Description: checkpoint URLPath represents the path after the domain name in the URL address, for example www.yourdomain.com/blog/show.php?id=1&category=2 ,URLPath is /blog/show.php
RE2 Rule:
(?i)/\.(git|svn)/
Description: (?i) represents case insensitive,/ represents itself, \\. matches the decimal point,(git|svn) matches git or svn, used to block access to the wrongly released source code.
Regex Rule Example 2
Checkpoint: URLQuery
Description: checkpoint URLQuery represents the parameters in URL (example: www.yourdomain.com/blog/show.php?`id=1&category=2` , URLQuery is id=1&category=2 )
RE2 Rule:
(?i)%\s+(and|or)\s+
Description: % matches itself, \s+ matches one or more spaces, (and|or) matches various case combinations such as aNd, AnD, oR etc., used to prevent SQL Injection.
Regex Rule Example 3
Checkpoint: GetPostValue
Description: GetPostValue represents parameter values in GET and POST methods (example: www.yourdomain.com/blog/show.php?id=1&category=2 ,GetPostValue is [1, 2] ).
RE2 Rule:
(?i)\s+(and|or)\s+[\w\p{L}]+=[\w\p{L}]+$
Description: [\w\p{L}] matches any letter, number, underscore or Unicode character (such as Chinese characters), = matches itself, $ matches the end, used to prevent SQL Injection.
\x{FFFF} matches UNICODE, example [\x{007F}-\x{FFFF}]+ matches unicode words.