diff --git a/owasp_rules.json b/owasp_rules.json
index ec719c0..7a4147c 100644
--- a/owasp_rules.json
+++ b/owasp_rules.json
@@ -1,544 +1,4 @@
[
- {
- "category": "FIXATION",
- "pattern": "@lt 1"
- },
- {
- "category": "FIXATION",
- "pattern": "@lt 1"
- },
- {
- "category": "FIXATION",
- "pattern": "@rx (?i:.cookieb.*?;W*?(?:expires|domain)W*?=|bhttp-equivW+set-cookieb)"
- },
- {
- "category": "FIXATION",
- "pattern": "@rx ^(?:jsessionid|aspsessionid|asp.net_sessionid|phpsession|phpsessid|weblogicsession|session_id|session-id|cfid|cftoken|cfsid|jservsession|jwsession)$"
- },
- {
- "category": "FIXATION",
- "pattern": "@rx ^(?:ht|f)tps?://(.*?)/"
- },
- {
- "category": "FIXATION",
- "pattern": "!@endsWith %{request_headers.host}"
- },
- {
- "category": "FIXATION",
- "pattern": "@rx ^(?:jsessionid|aspsessionid|asp.net_sessionid|phpsession|phpsessid|weblogicsession|session_id|session-id|cfid|cftoken|cfsid|jservsession|jwsession)$"
- },
- {
- "category": "FIXATION",
- "pattern": "@eq 0"
- },
- {
- "category": "FIXATION",
- "pattern": "@lt 2"
- },
- {
- "category": "FIXATION",
- "pattern": "@lt 2"
- },
- {
- "category": "FIXATION",
- "pattern": "@lt 3"
- },
- {
- "category": "FIXATION",
- "pattern": "@lt 3"
- },
- {
- "category": "FIXATION",
- "pattern": "@lt 4"
- },
- {
- "category": "FIXATION",
- "pattern": "@lt 4"
- },
- {
- "category": "JAVA",
- "pattern": "@lt 1"
- },
- {
- "category": "JAVA",
- "pattern": "@lt 1"
- },
- {
- "category": "JAVA",
- "pattern": "@rx java.lang.(?:runtime|processbuilder)"
- },
- {
- "category": "JAVA",
- "pattern": "@rx (?:runtime|processbuilder)"
- },
- {
- "category": "JAVA",
- "pattern": "@rx (?:unmarshaller|base64data|java.)"
- },
- {
- "category": "JAVA",
- "pattern": "@rx (?:clonetransformer|forclosure|instantiatefactory|instantiatetransformer|invokertransformer|prototypeclonefactory|prototypeserializationfactory|whileclosure|getproperty|filewriter|xmldecoder)"
- },
- {
- "category": "JAVA",
- "pattern": "@rx (?:runtime|processbuilder)"
- },
- {
- "category": "JAVA",
- "pattern": "@pmFromFile java-classes.data"
- },
- {
- "category": "JAVA",
- "pattern": "@rx .*.(?:jsp|jspx).*$"
- },
- {
- "category": "JAVA",
- "pattern": "@rx (?i)(?:$|$?)(?:{|&l(?:brace|cub);?)(?:[^}]{0,15}(?:$|$?)(?:{|&l(?:brace|cub);?)|jndi|ctx)"
- },
- {
- "category": "JAVA",
- "pattern": "@lt 2"
- },
- {
- "category": "JAVA",
- "pattern": "@lt 2"
- },
- {
- "category": "JAVA",
- "pattern": "@rx (?i)(?:$|$?)(?:{|&l(?:brace|cub);?)(?:[^}]*(?:$|$?)(?:{|&l(?:brace|cub);?)|jndi|ctx)"
- },
- {
- "category": "JAVA",
- "pattern": "@rx xacxedx00x05"
- },
- {
- "category": "JAVA",
- "pattern": "@rx (?:rO0ABQ|KztAAU|Cs7QAF)"
- },
- {
- "category": "JAVA",
- "pattern": "@rx (?:clonetransformer|forclosure|instantiatefactory|instantiatetransformer|invokertransformer|prototypeclonefactory|prototypeserializationfactory|whileclosure|getproperty|filewriter|xmldecoder)"
- },
- {
- "category": "JAVA",
- "pattern": "@rx javab.+(?:runtime|processbuilder)"
- },
- {
- "category": "JAVA",
- "pattern": "@rx (?:class.module.classLoader.resources.context.parent.pipeline|springframework.context.support.FileSystemXmlApplicationContext)"
- },
- {
- "category": "JAVA",
- "pattern": "@lt 3"
- },
- {
- "category": "JAVA",
- "pattern": "@lt 3"
- },
- {
- "category": "JAVA",
- "pattern": "@rx (?:cnVudGltZQ|HJ1bnRpbWU|BydW50aW1l|cHJvY2Vzc2J1aWxkZXI|HByb2Nlc3NidWlsZGVy|Bwcm9jZXNzYnVpbGRlcg|Y2xvbmV0cmFuc2Zvcm1lcg|GNsb25ldHJhbnNmb3JtZXI|BjbG9uZXRyYW5zZm9ybWVy|Zm9yY2xvc3VyZQ|GZvcmNsb3N1cmU|Bmb3JjbG9zdXJl|aW5zdGFudGlhdGVmYWN0b3J5|Gluc3RhbnRpYXRlZmFjdG9yeQ|BpbnN0YW50aWF0ZWZhY3Rvcnk|aW5zdGFudGlhdGV0cmFuc2Zvcm1lcg|Gluc3RhbnRpYXRldHJhbnNmb3JtZXI|BpbnN0YW50aWF0ZXRyYW5zZm9ybWVy|aW52b2tlcnRyYW5zZm9ybWVy|Gludm9rZXJ0cmFuc2Zvcm1lcg|BpbnZva2VydHJhbnNmb3JtZXI|cHJvdG90eXBlY2xvbmVmYWN0b3J5|HByb3RvdHlwZWNsb25lZmFjdG9yeQ|Bwcm90b3R5cGVjbG9uZWZhY3Rvcnk|cHJvdG90eXBlc2VyaWFsaXphdGlvbmZhY3Rvcnk|HByb3RvdHlwZXNlcmlhbGl6YXRpb25mYWN0b3J5|Bwcm90b3R5cGVzZXJpYWxpemF0aW9uZmFjdG9yeQ|d2hpbGVjbG9zdXJl|HdoaWxlY2xvc3VyZQ|B3aGlsZWNsb3N1cmU)"
- },
- {
- "category": "JAVA",
- "pattern": "@lt 4"
- },
- {
- "category": "JAVA",
- "pattern": "@lt 4"
- },
- {
- "category": "JAVA",
- "pattern": "@rx (?i)(?:$|$?)(?:{|&l(?:brace|cub);?)"
- },
- {
- "category": "IIS",
- "pattern": "@lt 1"
- },
- {
- "category": "IIS",
- "pattern": "@lt 1"
- },
- {
- "category": "IIS",
- "pattern": "@rx [a-z]:x5cinetpubb"
- },
- {
- "category": "IIS",
- "pattern": "@rx (?:Microsoft OLE DB Provider for SQL Server(?:.{1,20}?error '800(?:04005|40e31)'.{1,40}?Timeout expired| (0x80040e31)
Timeout expired
)|
internal server error
.*?part of the server has crashed or it has a configuration error.
|cannot connect to the server: timed out)"
- },
- {
- "category": "IIS",
- "pattern": "@pmFromFile iis-errors.data"
- },
- {
- "category": "IIS",
- "pattern": "!@rx ^404$"
- },
- {
- "category": "IIS",
- "pattern": "@rx bServer Error in.{0,50}?bApplicationb"
- },
- {
- "category": "IIS",
- "pattern": "@lt 2"
- },
- {
- "category": "IIS",
- "pattern": "@lt 2"
- },
- {
- "category": "IIS",
- "pattern": "@lt 3"
- },
- {
- "category": "IIS",
- "pattern": "@lt 3"
- },
- {
- "category": "IIS",
- "pattern": "@lt 4"
- },
- {
- "category": "IIS",
- "pattern": "@lt 4"
- },
- {
- "category": "PHP",
- "pattern": "@lt 1"
- },
- {
- "category": "PHP",
- "pattern": "@lt 1"
- },
- {
- "category": "PHP",
- "pattern": "@pmFromFile php-errors.data"
- },
- {
- "category": "PHP",
- "pattern": "@rx (?:b(?:f(?:tp_(?:nb_)?f?(?:ge|pu)t|get(?:s?s|c)|scanf|write|open|read)|gz(?:(?:encod|writ)e|compress|open|read)|s(?:ession_start|candir)|read(?:(?:gz)?file|dir)|move_uploaded_file|(?:proc_|bz)open|call_user_func)|$_(?:(?:pos|ge)t|session))b"
- },
- {
- "category": "PHP",
- "pattern": "@rx (?i)(?:=|php)?s+"
- },
- {
- "category": "PHP",
- "pattern": "@lt 2"
- },
- {
- "category": "PHP",
- "pattern": "@lt 2"
- },
- {
- "category": "PHP",
- "pattern": "@pmFromFile php-errors-pl2.data"
- },
- {
- "category": "PHP",
- "pattern": "@lt 3"
- },
- {
- "category": "PHP",
- "pattern": "@lt 3"
- },
- {
- "category": "PHP",
- "pattern": "@lt 4"
- },
- {
- "category": "PHP",
- "pattern": "@lt 4"
- },
- {
- "category": "EVALUATION",
- "pattern": "@ge 1"
- },
- {
- "category": "EVALUATION",
- "pattern": "@ge 1"
- },
- {
- "category": "EVALUATION",
- "pattern": "@ge 2"
- },
- {
- "category": "EVALUATION",
- "pattern": "@ge 2"
- },
- {
- "category": "EVALUATION",
- "pattern": "@ge 3"
- },
- {
- "category": "EVALUATION",
- "pattern": "@ge 3"
- },
- {
- "category": "EVALUATION",
- "pattern": "@ge 4"
- },
- {
- "category": "EVALUATION",
- "pattern": "@ge 4"
- },
- {
- "category": "EVALUATION",
- "pattern": "@ge 1"
- },
- {
- "category": "EVALUATION",
- "pattern": "@ge 1"
- },
- {
- "category": "EVALUATION",
- "pattern": "@ge 2"
- },
- {
- "category": "EVALUATION",
- "pattern": "@ge 2"
- },
- {
- "category": "EVALUATION",
- "pattern": "@ge 3"
- },
- {
- "category": "EVALUATION",
- "pattern": "@ge 3"
- },
- {
- "category": "EVALUATION",
- "pattern": "@ge 4"
- },
- {
- "category": "EVALUATION",
- "pattern": "@ge 4"
- },
- {
- "category": "EVALUATION",
- "pattern": "@ge %{tx.inbound_anomaly_score_threshold}"
- },
- {
- "category": "EVALUATION",
- "pattern": "@eq 1"
- },
- {
- "category": "EVALUATION",
- "pattern": "@ge %{tx.inbound_anomaly_score_threshold}"
- },
- {
- "category": "EVALUATION",
- "pattern": "@lt 1"
- },
- {
- "category": "EVALUATION",
- "pattern": "@lt 1"
- },
- {
- "category": "EVALUATION",
- "pattern": "@lt 2"
- },
- {
- "category": "EVALUATION",
- "pattern": "@lt 2"
- },
- {
- "category": "EVALUATION",
- "pattern": "@lt 3"
- },
- {
- "category": "EVALUATION",
- "pattern": "@lt 3"
- },
- {
- "category": "EVALUATION",
- "pattern": "@lt 4"
- },
- {
- "category": "EVALUATION",
- "pattern": "@lt 4"
- },
- {
- "category": "ATTACK",
- "pattern": "!@eq 0"
- },
- {
- "category": "ATTACK",
- "pattern": "!@within |%{tx.allowed_request_content_type_charset}|"
- },
- {
- "category": "ATTACK",
- "pattern": "@rx ^content-types*:s*(.*)$"
- },
- {
- "category": "ATTACK",
- "pattern": "!@rx ^(?:(?:*|[^!-\"(-),/:-?[-]{}]+)/(?:*|[^!-\"(-),/:-?[-]{}]+)|*)(?:[sv]*;[sv]*(?:charset[sv]*=[sv]*\"?(?:iso-8859-15?|utf-8|windows-1252)b\"?|(?:[^sv -\"(-),/:-?[-]c{}]|c(?:[^!-\"(-),/:-?[-]h{}]|h(?:[^!-\"(-),/:-?[-]a{}]|a(?:[^!-\"(-),/:-?[-]r{}]|r(?:[^!-\"(-),/:-?[-]s{}]|s(?:[^!-\"(-),/:-?[-]e{}]|e[^!-\"(-),/:-?[-]t{}]))))))[^!-\"(-),/:-?[-]{}]*[sv]*=[sv]*[^!(-),/:-?[-]{}]+);?)*(?:[sv]*,[sv]*(?:(?:*|[^!-\"(-),/:-?[-]{}]+)/(?:*|[^!-\"(-),/:-?[-]{}]+)|*)(?:[sv]*;[sv]*(?:charset[sv]*=[sv]*\"?(?:iso-8859-15?|utf-8|windows-1252)b\"?|(?:[^sv -\"(-),/:-?[-]c{}]|c(?:[^!-\"(-),/:-?[-]h{}]|h(?:[^!-\"(-),/:-?[-]a{}]|a(?:[^!-\"(-),/:-?[-]r{}]|r(?:[^!-\"(-),/:-?[-]s{}]|s(?:[^!-\"(-),/:-?[-]e{}]|e[^!-\"(-),/:-?[-]t{}]))))))[^!-\"(-),/:-?[-]{}]*[sv]*=[sv]*[^!(-),/:-?[-]{}]+);?)*)*$"
- },
- {
- "category": "ATTACK",
- "pattern": "@rx content-transfer-encoding:(.*)"
- },
- {
- "category": "GENERIC",
- "pattern": "@lt 1"
- },
- {
- "category": "GENERIC",
- "pattern": "@lt 1"
- },
- {
- "category": "GENERIC",
- "pattern": "@rx _(?:$$ND_FUNC$$_|_js_function)|(?:beval|new[sv]+Function[sv]*)(|String.fromCharCode|function(){|this.constructor|module.exports=|([sv]*[^0-9A-Z_a-z]child_process[^0-9A-Z_a-z][sv]*)|process(?:.(?:(?:a(?:ccess|ppendfile|rgv|vailability)|c(?:aveats|h(?:mod|own)|(?:los|opyfil)e|p|reate(?:read|write)stream)|ex(?:ec(?:file)?|ists)|f(?:ch(?:mod|own)|data(?:sync)?|s(?:tat|ync)|utimes)|inodes|l(?:chmod|ink|stat|utimes)|mkd(?:ir|temp)|open(?:dir)?|r(?:e(?:ad(?:dir|file|link|v)?|name)|m)|s(?:pawn(?:file)?|tat|ymlink)|truncate|u(?:n(?:link|watchfile)|times)|w(?:atchfile|rite(?:file|v)?))(?:sync)?(?:.call)?(|binding|constructor|env|global|main(?:Module)?|process|require)|[[\"'`](?:(?:a(?:ccess|ppendfile|rgv|vailability)|c(?:aveats|h(?:mod|own)|(?:los|opyfil)e|p|reate(?:read|write)stream)|ex(?:ec(?:file)?|ists)|f(?:ch(?:mod|own)|data(?:sync)?|s(?:tat|ync)|utimes)|inodes|l(?:chmod|ink|stat|utimes)|mkd(?:ir|temp)|open(?:dir)?|r(?:e(?:ad(?:dir|file|link|v)?|name)|m)|s(?:pawn(?:file)?|tat|ymlink)|truncate|u(?:n(?:link|watchfile)|times)|w(?:atchfile|rite(?:file|v)?))(?:sync)?|binding|constructor|env|global|main(?:Module)?|process|require)[\"'`]])|(?:binding|constructor|env|global|main(?:Module)?|process|require)[|console(?:.(?:debug|error|info|trace|warn)(?:.call)?(|[[\"'`](?:debug|error|info|trace|warn)[\"'`]])|require(?:.(?:resolve(?:.call)?(|main|extensions|cache)|[[\"'`](?:(?:resolv|cach)e|main|extensions)[\"'`]])"
- },
- {
- "category": "GENERIC",
- "pattern": "@rx (?:close|exists|fork|(?:ope|spaw)n|re(?:ad|quire)|w(?:atch|rite))[sv]*("
- },
- {
- "category": "GENERIC",
- "pattern": "@pmFromFile ssrf.data"
- },
- {
- "category": "GENERIC",
- "pattern": "@rx (?:__proto__|constructors*(?:.|[)s*prototype)"
- },
- {
- "category": "GENERIC",
- "pattern": "@rx Process[sv]*.[sv]*spawn[sv]*("
- },
- {
- "category": "GENERIC",
- "pattern": "@rx while[sv]*([sv(]*(?:!+(?:false|null|undefined|NaN|[+-]?0|\"{2}|'{2}|`{2})|(?:!!)*(?:(?:t(?:rue|his)|[+-]?(?:Infinity|[1-9][0-9]*)|new [A-Za-z][0-9A-Z_a-z]*|window|String|(?:Boolea|Functio)n|Object|Array)b|{.*}|[.*]|\"[^\"]+\"|'[^']+'|`[^`]+`)).*)"
- },
- {
- "category": "GENERIC",
- "pattern": "@rx ^data:(?:(?:*|[^!-\"(-),/:-?[-]{}]+)/(?:*|[^!-\"(-),/:-?[-]{}]+)|*)(?:[sv]*;[sv]*(?:charset[sv]*=[sv]*\"?(?:iso-8859-15?|utf-8|windows-1252)b\"?|(?:[^sv -\"(-),/:-?[-]c{}]|c(?:[^!-\"(-),/:-?[-]h{}]|h(?:[^!-\"(-),/:-?[-]a{}]|a(?:[^!-\"(-),/:-?[-]r{}]|r(?:[^!-\"(-),/:-?[-]s{}]|s(?:[^!-\"(-),/:-?[-]e{}]|e[^!-\"(-),/:-?[-]t{}]))))))[^!-\"(-),/:-?[-]{}]*[sv]*=[sv]*[^!(-),/:-?[-]{}]+);?)*(?:[sv]*,[sv]*(?:(?:*|[^!-\"(-),/:-?[-]{}]+)/(?:*|[^!-\"(-),/:-?[-]{}]+)|*)(?:[sv]*;[sv]*(?:charset[sv]*=[sv]*\"?(?:iso-8859-15?|utf-8|windows-1252)b\"?|(?:[^sv -\"(-),/:-?[-]c{}]|c(?:[^!-\"(-),/:-?[-]h{}]|h(?:[^!-\"(-),/:-?[-]a{}]|a(?:[^!-\"(-),/:-?[-]r{}]|r(?:[^!-\"(-),/:-?[-]s{}]|s(?:[^!-\"(-),/:-?[-]e{}]|e[^!-\"(-),/:-?[-]t{}]))))))[^!-\"(-),/:-?[-]{}]*[sv]*=[sv]*[^!(-),/:-?[-]{}]+);?)*)*"
- },
- {
- "category": "GENERIC",
- "pattern": "@lt 2"
- },
- {
- "category": "GENERIC",
- "pattern": "@lt 2"
- },
- {
- "category": "GENERIC",
- "pattern": "@rx (?i)((?:a(?:cap|f[ps]|ttachment)|b(?:eshare|itcoin|lob)|c(?:a(?:llto|p)|id|vs|ompress.(?:zlib|bzip2))|d(?:a(?:v|ta)|ict|n(?:s|tp))|e(?:d2k|xpect)|f(?:(?:ee)?d|i(?:le|nger|sh)|tps?)|g(?:it|o(?:pher)?|lob)|h(?:323|ttps?)|i(?:ax|cap|(?:ma|p)ps?|rc[6s]?)|ja(?:bbe)?r|l(?:dap[is]?|ocal_file)|m(?:a(?:ilto|ven)|ms|umble)|n(?:e(?:tdoc|ws)|fs|ntps?)|ogg|p(?:aparazzi|h(?:ar|p)|op(?:2|3s?)|r(?:es|oxy)|syc)|r(?:mi|sync|tm(?:f?p)?|ar)|s(?:3|ftp|ips?|m(?:[bs]|tps?)|n(?:ews|mp)|sh(?:2(?:.(?:s(?:hell|(?:ft|c)p)|exec|tunnel))?)?|vn(?:+ssh)?)|t(?:e(?:amspeak|lnet)|ftp|urns?)|u(?:dp|nreal|t2004)|v(?:entrilo|iew-source|nc)|w(?:ebcal|ss?)|x(?:mpp|ri)|zip)://(?:[0-9]{10}|(?:0x[0-9a-f]{2}.){3}0x[0-9a-f]{2}|0x(?:[0-9a-f]{8}|[0-9a-f]{16})|(?:0{1,4}[0-9]{1,3}.){3}0{1,4}[0-9]{1,3}|[0-9]{1,3}.(?:[0-9]{1,3}.[0-9]{5}|[0-9]{8})|(?:x5cx5c[-0-9a-z].?_?)+|[[0-:a-f]+(?:[.0-9]+|%[0-9A-Z_a-z]+)?]|[a-z][--.0-9A-Z_a-z]{1,255}:[0-9]{1,5}(?:#?[sv]*&?@(?:(?:[0-9]{1,3}.){3}[0-9]{1,3}|[a-z][--.0-9A-Z_a-z]{1,255}):[0-9]{1,5}/?)+|[.0-9]{0,11}(?:xe2(?:x91[xa0-xbf]|x92[x80-xbf]|x93[x80-xa9xab-xbf])|xe3x80x82)+))"
- },
- {
- "category": "GENERIC",
- "pattern": "@rx [s*constructors*]"
- },
- {
- "category": "GENERIC",
- "pattern": "@rx @{.*}"
- },
- {
- "category": "GENERIC",
- "pattern": "@lt 3"
- },
- {
- "category": "GENERIC",
- "pattern": "@lt 3"
- },
- {
- "category": "GENERIC",
- "pattern": "@lt 4"
- },
- {
- "category": "GENERIC",
- "pattern": "@lt 4"
- },
- {
- "category": "LFI",
- "pattern": "@lt 1"
- },
- {
- "category": "LFI",
- "pattern": "@lt 1"
- },
- {
- "category": "LFI",
- "pattern": "@rx (?i)(?:[/x5c]|%(?:2(?:f|5(?:2f|5c|c(?:1%259c|0%25af))|%46)|5c|c(?:0%(?:[2aq]f|5c|9v)|1%(?:[19p]c|8s|af))|(?:bg%q|(?:e|f(?:8%8)?0%8)0%80%a)f|u(?:221[5-6]|EFC8|F025|002f)|%3(?:2(?:%(?:%6|4)6|F)|5%%63)|1u)|0x(?:2f|5c))(?:.(?:%0[0-1]|?)?|?.?|%(?:2(?:(?:5(?:2|c0%25a))?e|%45)|c0(?:.|%[25-6ae-f]e)|u(?:(?:ff0|002)e|2024)|%32(?:%(?:%6|4)5|E)|(?:e|f(?:(?:8|c%80)%8)?0%8)0%80%ae)|0x2e){2,3}(?:[/x5c]|%(?:2(?:f|5(?:2f|5c|c(?:1%259c|0%25af))|%46)|5c|c(?:0%(?:[2aq]f|5c|9v)|1%(?:[19p]c|8s|af))|(?:bg%q|(?:e|f(?:8%8)?0%8)0%80%a)f|u(?:221[5-6]|EFC8|F025|002f)|%3(?:2(?:%(?:%6|4)6|F)|5%%63)|1u)|0x(?:2f|5c))"
- },
- {
- "category": "LFI",
- "pattern": "@rx (?:(?:^|[x5c/;]).{2,3}[x5c/;]|[x5c/;].{2,3}(?:[x5c/;]|$))"
- },
- {
- "category": "LFI",
- "pattern": "@pmFromFile lfi-os-files.data"
- },
- {
- "category": "LFI",
- "pattern": "@pmFromFile restricted-files.data"
- },
- {
- "category": "LFI",
- "pattern": "@lt 2"
- },
- {
- "category": "LFI",
- "pattern": "@lt 2"
- },
- {
- "category": "LFI",
- "pattern": "@pmFromFile lfi-os-files.data"
- },
- {
- "category": "LFI",
- "pattern": "@lt 3"
- },
- {
- "category": "LFI",
- "pattern": "@lt 3"
- },
- {
- "category": "LFI",
- "pattern": "@lt 4"
- },
- {
- "category": "LFI",
- "pattern": "@lt 4"
- },
- {
- "category": "ENFORCEMENT",
- "pattern": "@lt 1"
- },
- {
- "category": "ENFORCEMENT",
- "pattern": "@lt 1"
- },
- {
- "category": "ENFORCEMENT",
- "pattern": "!@within %{tx.allowed_methods}"
- },
- {
- "category": "ENFORCEMENT",
- "pattern": "@lt 2"
- },
- {
- "category": "ENFORCEMENT",
- "pattern": "@lt 2"
- },
- {
- "category": "ENFORCEMENT",
- "pattern": "@lt 3"
- },
- {
- "category": "ENFORCEMENT",
- "pattern": "@lt 3"
- },
- {
- "category": "ENFORCEMENT",
- "pattern": "@lt 4"
- },
- {
- "category": "ENFORCEMENT",
- "pattern": "@lt 4"
- },
{
"category": "INITIALIZATION",
"pattern": "@eq 0"
@@ -660,48 +120,24 @@
"pattern": "@lt %{tx.blocking_paranoia_level}"
},
{
- "category": "LEAKAGES",
- "pattern": "@lt 1"
+ "category": "EXCEPTIONS",
+ "pattern": "@streq GET /"
},
{
- "category": "LEAKAGES",
- "pattern": "@lt 1"
+ "category": "EXCEPTIONS",
+ "pattern": "@ipMatch 127.0.0.1,::1"
},
{
- "category": "LEAKAGES",
- "pattern": "@rx (?:<(?:TITLE>Index of.*?Index of.*?Index of|>[To Parent Directory][Aa]>
)"
+ "category": "EXCEPTIONS",
+ "pattern": "@ipMatch 127.0.0.1,::1"
},
{
- "category": "LEAKAGES",
- "pattern": "@rx ^#!s?/"
+ "category": "EXCEPTIONS",
+ "pattern": "@endsWith (internal dummy connection)"
},
{
- "category": "LEAKAGES",
- "pattern": "@lt 2"
- },
- {
- "category": "LEAKAGES",
- "pattern": "@lt 2"
- },
- {
- "category": "LEAKAGES",
- "pattern": "@rx ^5d{2}$"
- },
- {
- "category": "LEAKAGES",
- "pattern": "@lt 3"
- },
- {
- "category": "LEAKAGES",
- "pattern": "@lt 3"
- },
- {
- "category": "LEAKAGES",
- "pattern": "@lt 4"
- },
- {
- "category": "LEAKAGES",
- "pattern": "@lt 4"
+ "category": "EXCEPTIONS",
+ "pattern": "@rx ^(?:GET /|OPTIONS *) HTTP/[12].[01]$"
},
{
"category": "DETECTION",
@@ -740,24 +176,112 @@
"pattern": "@lt 4"
},
{
- "category": "EXCEPTIONS",
- "pattern": "@streq GET /"
+ "category": "ATTACK",
+ "pattern": "!@eq 0"
},
{
- "category": "EXCEPTIONS",
- "pattern": "@ipMatch 127.0.0.1,::1"
+ "category": "ATTACK",
+ "pattern": "!@within |%{tx.allowed_request_content_type_charset}|"
},
{
- "category": "EXCEPTIONS",
- "pattern": "@ipMatch 127.0.0.1,::1"
+ "category": "ATTACK",
+ "pattern": "@rx ^content-types*:s*(.*)$"
},
{
- "category": "EXCEPTIONS",
- "pattern": "@endsWith (internal dummy connection)"
+ "category": "ATTACK",
+ "pattern": "!@rx ^(?:(?:*|[^!-\"(-),/:-?[-]{}]+)/(?:*|[^!-\"(-),/:-?[-]{}]+)|*)(?:[sv]*;[sv]*(?:charset[sv]*=[sv]*\"?(?:iso-8859-15?|utf-8|windows-1252)b\"?|(?:[^sv -\"(-),/:-?[-]c{}]|c(?:[^!-\"(-),/:-?[-]h{}]|h(?:[^!-\"(-),/:-?[-]a{}]|a(?:[^!-\"(-),/:-?[-]r{}]|r(?:[^!-\"(-),/:-?[-]s{}]|s(?:[^!-\"(-),/:-?[-]e{}]|e[^!-\"(-),/:-?[-]t{}]))))))[^!-\"(-),/:-?[-]{}]*[sv]*=[sv]*[^!(-),/:-?[-]{}]+);?)*(?:[sv]*,[sv]*(?:(?:*|[^!-\"(-),/:-?[-]{}]+)/(?:*|[^!-\"(-),/:-?[-]{}]+)|*)(?:[sv]*;[sv]*(?:charset[sv]*=[sv]*\"?(?:iso-8859-15?|utf-8|windows-1252)b\"?|(?:[^sv -\"(-),/:-?[-]c{}]|c(?:[^!-\"(-),/:-?[-]h{}]|h(?:[^!-\"(-),/:-?[-]a{}]|a(?:[^!-\"(-),/:-?[-]r{}]|r(?:[^!-\"(-),/:-?[-]s{}]|s(?:[^!-\"(-),/:-?[-]e{}]|e[^!-\"(-),/:-?[-]t{}]))))))[^!-\"(-),/:-?[-]{}]*[sv]*=[sv]*[^!(-),/:-?[-]{}]+);?)*)*$"
},
{
- "category": "EXCEPTIONS",
- "pattern": "@rx ^(?:GET /|OPTIONS *) HTTP/[12].[01]$"
+ "category": "ATTACK",
+ "pattern": "@rx content-transfer-encoding:(.*)"
+ },
+ {
+ "category": "ENFORCEMENT",
+ "pattern": "@lt 1"
+ },
+ {
+ "category": "ENFORCEMENT",
+ "pattern": "@lt 1"
+ },
+ {
+ "category": "ENFORCEMENT",
+ "pattern": "!@within %{tx.allowed_methods}"
+ },
+ {
+ "category": "ENFORCEMENT",
+ "pattern": "@lt 2"
+ },
+ {
+ "category": "ENFORCEMENT",
+ "pattern": "@lt 2"
+ },
+ {
+ "category": "ENFORCEMENT",
+ "pattern": "@lt 3"
+ },
+ {
+ "category": "ENFORCEMENT",
+ "pattern": "@lt 3"
+ },
+ {
+ "category": "ENFORCEMENT",
+ "pattern": "@lt 4"
+ },
+ {
+ "category": "ENFORCEMENT",
+ "pattern": "@lt 4"
+ },
+ {
+ "category": "LFI",
+ "pattern": "@lt 1"
+ },
+ {
+ "category": "LFI",
+ "pattern": "@lt 1"
+ },
+ {
+ "category": "LFI",
+ "pattern": "@rx (?i)(?:[/x5c]|%(?:2(?:f|5(?:2f|5c|c(?:1%259c|0%25af))|%46)|5c|c(?:0%(?:[2aq]f|5c|9v)|1%(?:[19p]c|8s|af))|(?:bg%q|(?:e|f(?:8%8)?0%8)0%80%a)f|u(?:221[5-6]|EFC8|F025|002f)|%3(?:2(?:%(?:%6|4)6|F)|5%%63)|1u)|0x(?:2f|5c))(?:.(?:%0[0-1]|?)?|?.?|%(?:2(?:(?:5(?:2|c0%25a))?e|%45)|c0(?:.|%[25-6ae-f]e)|u(?:(?:ff0|002)e|2024)|%32(?:%(?:%6|4)5|E)|(?:e|f(?:(?:8|c%80)%8)?0%8)0%80%ae)|0x2e){2,3}(?:[/x5c]|%(?:2(?:f|5(?:2f|5c|c(?:1%259c|0%25af))|%46)|5c|c(?:0%(?:[2aq]f|5c|9v)|1%(?:[19p]c|8s|af))|(?:bg%q|(?:e|f(?:8%8)?0%8)0%80%a)f|u(?:221[5-6]|EFC8|F025|002f)|%3(?:2(?:%(?:%6|4)6|F)|5%%63)|1u)|0x(?:2f|5c))"
+ },
+ {
+ "category": "LFI",
+ "pattern": "@rx (?:(?:^|[x5c/;]).{2,3}[x5c/;]|[x5c/;].{2,3}(?:[x5c/;]|$))"
+ },
+ {
+ "category": "LFI",
+ "pattern": "@pmFromFile lfi-os-files.data"
+ },
+ {
+ "category": "LFI",
+ "pattern": "@pmFromFile restricted-files.data"
+ },
+ {
+ "category": "LFI",
+ "pattern": "@lt 2"
+ },
+ {
+ "category": "LFI",
+ "pattern": "@lt 2"
+ },
+ {
+ "category": "LFI",
+ "pattern": "@pmFromFile lfi-os-files.data"
+ },
+ {
+ "category": "LFI",
+ "pattern": "@lt 3"
+ },
+ {
+ "category": "LFI",
+ "pattern": "@lt 3"
+ },
+ {
+ "category": "LFI",
+ "pattern": "@lt 4"
+ },
+ {
+ "category": "LFI",
+ "pattern": "@lt 4"
},
{
"category": "RFI",
@@ -820,103 +344,259 @@
"pattern": "@lt 4"
},
{
- "category": "SQL",
+ "category": "LEAKAGES",
"pattern": "@lt 1"
},
{
- "category": "SQL",
+ "category": "LEAKAGES",
"pattern": "@lt 1"
},
{
- "category": "SQL",
- "pattern": "!@pmFromFile sql-errors.data"
+ "category": "LEAKAGES",
+ "pattern": "@rx (?:<(?:TITLE>Index of.*?Index of.*?Index of|>[To Parent Directory][Aa]>
)"
},
{
- "category": "SQL",
- "pattern": "@rx (?i:JET Database Engine|Access Database Engine|[Microsoft][ODBC Microsoft Access Driver])"
+ "category": "LEAKAGES",
+ "pattern": "@rx ^#!s?/"
},
{
- "category": "SQL",
- "pattern": "@rx (?i:ORA-[0-9][0-9][0-9][0-9]|java.sql.SQLException|Oracle error|Oracle.*Driver|Warning.*oci_.*|Warning.*ora_.*)"
- },
- {
- "category": "SQL",
- "pattern": "@rx (?i:DB2 SQL error:|[IBM][CLI Driver][DB2/6000]|CLI Driver.*DB2|DB2 SQL error|db2_w+()"
- },
- {
- "category": "SQL",
- "pattern": "@rx (?i:[DM_QUERY_E_SYNTAX]|has occurred in the vicinity of:)"
- },
- {
- "category": "SQL",
- "pattern": "@rx (?i)Dynamic SQL Error"
- },
- {
- "category": "SQL",
- "pattern": "@rx (?i)Exception (?:condition )?d+. Transaction rollback."
- },
- {
- "category": "SQL",
- "pattern": "@rx (?i)org.hsqldb.jdbc"
- },
- {
- "category": "SQL",
- "pattern": "@rx (?i:An illegal character has been found in the statement|com.informix.jdbc|Exception.*Informix)"
- },
- {
- "category": "SQL",
- "pattern": "@rx (?i:Warning.*ingres_|Ingres SQLSTATE|IngresW.*Driver)"
- },
- {
- "category": "SQL",
- "pattern": "@rx (?i:Warning: ibase_|Unexpected end of command in statement)"
- },
- {
- "category": "SQL",
- "pattern": "@rx (?i:SQL error.*POS[0-9]+.*|Warning.*maxdb.*)"
- },
- {
- "category": "SQL",
- "pattern": "@rx (?i)(?:System.Data.OleDb.OleDbException|[Microsoft][ODBC SQL Server Driver]|[Macromedia][SQLServer JDBC Driver]|[SqlException|System.Data.SqlClient.SqlException|Unclosed quotation mark after the character string|'80040e14'|mssql_query()|Microsoft OLE DB Provider for ODBC Drivers|Microsoft OLE DB Provider for SQL Server|Incorrect syntax near|Sintaxis incorrecta cerca de|Syntax error in string in query expression|Procedure or function .* expects parameter|Unclosed quotation mark before the character string|Syntax error .* in query expression|Data type mismatch in criteria expression.|ADODB.Field (0x800A0BCD)|the used select statements have different number of columns|OLE DB.*SQL Server|Warning.*mssql_.*|Driver.*SQL[ _-]*Server|SQL Server.*Driver|SQL Server.*[0-9a-fA-F]{8}|Exception.*WSystem.Data.SqlClient.|Conversion failed when converting the varchar value .*? to data type int.)"
- },
- {
- "category": "SQL",
- "pattern": "@rx (?i)(?:supplied argument is not a valid |SQL syntax.*)MySQL|Column count doesn't match(?: value count at row)?|mysql_fetch_array()|on MySQL result index|You have an error in your SQL syntax(?:;| near)|MyS(?:QL server version for the right syntax to use|qlClient.)|[MySQL][ODBC|(?:Table '[^']+' doesn't exis|valid MySQL resul)t|Warning.{1,10}mysql_(?:[(-)_a-z]{1,26})?|(?:ERROR [0-9]{4} ([0-9a-z]{5})|XPATH syntax error):"
- },
- {
- "category": "SQL",
- "pattern": "@rx (?i)P(?:ostgreSQL(?: query failed:|.{1,20}ERROR)|G::[a-z]*Error)|pg_(?:query|exec)() [:|Warning.{1,20}bpg_.*|valid PostgreSQL result|Npgsql.|Supplied argument is not a valid PostgreSQL .*? resource|(?:Unable to connect to PostgreSQL serv|invalid input syntax for integ)er"
- },
- {
- "category": "SQL",
- "pattern": "@rx (?i)(?:Warning.*sqlite_.*|Warning.*SQLite3::|SQLite/JDBCDriver|SQLite.Exception|System.Data.SQLite.SQLiteException)"
- },
- {
- "category": "SQL",
- "pattern": "@rx (?i)(?:Sybase message:|Warning.{2,20}sybase|Sybase.*Server message.*)"
- },
- {
- "category": "SQL",
+ "category": "LEAKAGES",
"pattern": "@lt 2"
},
{
- "category": "SQL",
+ "category": "LEAKAGES",
"pattern": "@lt 2"
},
{
- "category": "SQL",
+ "category": "LEAKAGES",
+ "pattern": "@rx ^5d{2}$"
+ },
+ {
+ "category": "LEAKAGES",
"pattern": "@lt 3"
},
{
- "category": "SQL",
+ "category": "LEAKAGES",
"pattern": "@lt 3"
},
{
- "category": "SQL",
+ "category": "LEAKAGES",
"pattern": "@lt 4"
},
{
- "category": "SQL",
+ "category": "LEAKAGES",
+ "pattern": "@lt 4"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@lt 1"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@lt 1"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@rx (?:get|post|head|options|connect|put|delete|trace|track|patch|propfind|propatch|mkcol|copy|move|lock|unlock)s+[^s]+s+http/d"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@rx [rn]W*?(?:content-(?:type|length)|set-cookie|location):s*w"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@rx (?:bhttp/d|<(?:html|meta)b)"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@rx [nr]"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@rx [nr]"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@rx [nr]+(?:s|location|refresh|(?:set-)?cookie|(?:x-)?(?:forwarded-(?:for|host|server)|host|via|remote-ip|remote-addr|originating-IP))s*:"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@rx [nr]"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@rx ^[^:()&|!<>~]*)s*(?:((?:[^,()=&|!<>~]+[><~]?=|s*[&!|]s*(?:)|()?s*)|)s*(s*[&|!]s*|[&!|]s*([^()=&|!<>~]+[><~]?=[^:()&|!<>~]*)"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@rx ^[^sv,;]+[sv,;].*?(?:application/(?:.++)?json|(?:application/(?:soap+)?|text/)xml)"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@rx unix:[^|]*|"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@lt 2"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@lt 2"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@rx [nr]"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@rx ^[^sv,;]+[sv,;].*?b(?:((?:tex|multipar)t|application)|((?:audi|vide)o|image|cs[sv]|(?:vn|relate)d|p(?:df|lain)|json|(?:soa|cs)p|x(?:ml|-www-form-urlencoded)|form-data|x-amf|(?:octe|repor)t|stream)|([+/]))b"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@lt 3"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@lt 3"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@gt 0"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@rx ."
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@gt 1"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@rx TX:paramcounter_(.*)"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@rx (][^]]+$|][^]]+[)"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@lt 4"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@lt 4"
+ },
+ {
+ "category": "ATTACK",
+ "pattern": "@rx ["
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@ge 1"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@ge 1"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@ge 2"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@ge 2"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@ge 3"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@ge 3"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@ge 4"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@ge 4"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@ge 1"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@ge 1"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@ge 2"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@ge 2"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@ge 3"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@ge 3"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@ge 4"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@ge 4"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@ge %{tx.inbound_anomaly_score_threshold}"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@eq 1"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@ge %{tx.inbound_anomaly_score_threshold}"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@lt 1"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@lt 1"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@lt 2"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@lt 2"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@lt 3"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@lt 3"
+ },
+ {
+ "category": "EVALUATION",
+ "pattern": "@lt 4"
+ },
+ {
+ "category": "EVALUATION",
"pattern": "@lt 4"
},
{
@@ -1331,6 +1011,914 @@
"category": "ENFORCEMENT",
"pattern": "@rx (?:^|[^x5c])x5c[cdeghijklmpqwxyz123456789]"
},
+ {
+ "category": "GENERIC",
+ "pattern": "@lt 1"
+ },
+ {
+ "category": "GENERIC",
+ "pattern": "@lt 1"
+ },
+ {
+ "category": "GENERIC",
+ "pattern": "@rx _(?:$$ND_FUNC$$_|_js_function)|(?:beval|new[sv]+Function[sv]*)(|String.fromCharCode|function(){|this.constructor|module.exports=|([sv]*[^0-9A-Z_a-z]child_process[^0-9A-Z_a-z][sv]*)|process(?:.(?:(?:a(?:ccess|ppendfile|rgv|vailability)|c(?:aveats|h(?:mod|own)|(?:los|opyfil)e|p|reate(?:read|write)stream)|ex(?:ec(?:file)?|ists)|f(?:ch(?:mod|own)|data(?:sync)?|s(?:tat|ync)|utimes)|inodes|l(?:chmod|ink|stat|utimes)|mkd(?:ir|temp)|open(?:dir)?|r(?:e(?:ad(?:dir|file|link|v)?|name)|m)|s(?:pawn(?:file)?|tat|ymlink)|truncate|u(?:n(?:link|watchfile)|times)|w(?:atchfile|rite(?:file|v)?))(?:sync)?(?:.call)?(|binding|constructor|env|global|main(?:Module)?|process|require)|[[\"'`](?:(?:a(?:ccess|ppendfile|rgv|vailability)|c(?:aveats|h(?:mod|own)|(?:los|opyfil)e|p|reate(?:read|write)stream)|ex(?:ec(?:file)?|ists)|f(?:ch(?:mod|own)|data(?:sync)?|s(?:tat|ync)|utimes)|inodes|l(?:chmod|ink|stat|utimes)|mkd(?:ir|temp)|open(?:dir)?|r(?:e(?:ad(?:dir|file|link|v)?|name)|m)|s(?:pawn(?:file)?|tat|ymlink)|truncate|u(?:n(?:link|watchfile)|times)|w(?:atchfile|rite(?:file|v)?))(?:sync)?|binding|constructor|env|global|main(?:Module)?|process|require)[\"'`]])|(?:binding|constructor|env|global|main(?:Module)?|process|require)[|console(?:.(?:debug|error|info|trace|warn)(?:.call)?(|[[\"'`](?:debug|error|info|trace|warn)[\"'`]])|require(?:.(?:resolve(?:.call)?(|main|extensions|cache)|[[\"'`](?:(?:resolv|cach)e|main|extensions)[\"'`]])"
+ },
+ {
+ "category": "GENERIC",
+ "pattern": "@rx (?:close|exists|fork|(?:ope|spaw)n|re(?:ad|quire)|w(?:atch|rite))[sv]*("
+ },
+ {
+ "category": "GENERIC",
+ "pattern": "@pmFromFile ssrf.data"
+ },
+ {
+ "category": "GENERIC",
+ "pattern": "@rx (?:__proto__|constructors*(?:.|[)s*prototype)"
+ },
+ {
+ "category": "GENERIC",
+ "pattern": "@rx Process[sv]*.[sv]*spawn[sv]*("
+ },
+ {
+ "category": "GENERIC",
+ "pattern": "@rx while[sv]*([sv(]*(?:!+(?:false|null|undefined|NaN|[+-]?0|\"{2}|'{2}|`{2})|(?:!!)*(?:(?:t(?:rue|his)|[+-]?(?:Infinity|[1-9][0-9]*)|new [A-Za-z][0-9A-Z_a-z]*|window|String|(?:Boolea|Functio)n|Object|Array)b|{.*}|[.*]|\"[^\"]+\"|'[^']+'|`[^`]+`)).*)"
+ },
+ {
+ "category": "GENERIC",
+ "pattern": "@rx ^data:(?:(?:*|[^!-\"(-),/:-?[-]{}]+)/(?:*|[^!-\"(-),/:-?[-]{}]+)|*)(?:[sv]*;[sv]*(?:charset[sv]*=[sv]*\"?(?:iso-8859-15?|utf-8|windows-1252)b\"?|(?:[^sv -\"(-),/:-?[-]c{}]|c(?:[^!-\"(-),/:-?[-]h{}]|h(?:[^!-\"(-),/:-?[-]a{}]|a(?:[^!-\"(-),/:-?[-]r{}]|r(?:[^!-\"(-),/:-?[-]s{}]|s(?:[^!-\"(-),/:-?[-]e{}]|e[^!-\"(-),/:-?[-]t{}]))))))[^!-\"(-),/:-?[-]{}]*[sv]*=[sv]*[^!(-),/:-?[-]{}]+);?)*(?:[sv]*,[sv]*(?:(?:*|[^!-\"(-),/:-?[-]{}]+)/(?:*|[^!-\"(-),/:-?[-]{}]+)|*)(?:[sv]*;[sv]*(?:charset[sv]*=[sv]*\"?(?:iso-8859-15?|utf-8|windows-1252)b\"?|(?:[^sv -\"(-),/:-?[-]c{}]|c(?:[^!-\"(-),/:-?[-]h{}]|h(?:[^!-\"(-),/:-?[-]a{}]|a(?:[^!-\"(-),/:-?[-]r{}]|r(?:[^!-\"(-),/:-?[-]s{}]|s(?:[^!-\"(-),/:-?[-]e{}]|e[^!-\"(-),/:-?[-]t{}]))))))[^!-\"(-),/:-?[-]{}]*[sv]*=[sv]*[^!(-),/:-?[-]{}]+);?)*)*"
+ },
+ {
+ "category": "GENERIC",
+ "pattern": "@lt 2"
+ },
+ {
+ "category": "GENERIC",
+ "pattern": "@lt 2"
+ },
+ {
+ "category": "GENERIC",
+ "pattern": "@rx (?i)((?:a(?:cap|f[ps]|ttachment)|b(?:eshare|itcoin|lob)|c(?:a(?:llto|p)|id|vs|ompress.(?:zlib|bzip2))|d(?:a(?:v|ta)|ict|n(?:s|tp))|e(?:d2k|xpect)|f(?:(?:ee)?d|i(?:le|nger|sh)|tps?)|g(?:it|o(?:pher)?|lob)|h(?:323|ttps?)|i(?:ax|cap|(?:ma|p)ps?|rc[6s]?)|ja(?:bbe)?r|l(?:dap[is]?|ocal_file)|m(?:a(?:ilto|ven)|ms|umble)|n(?:e(?:tdoc|ws)|fs|ntps?)|ogg|p(?:aparazzi|h(?:ar|p)|op(?:2|3s?)|r(?:es|oxy)|syc)|r(?:mi|sync|tm(?:f?p)?|ar)|s(?:3|ftp|ips?|m(?:[bs]|tps?)|n(?:ews|mp)|sh(?:2(?:.(?:s(?:hell|(?:ft|c)p)|exec|tunnel))?)?|vn(?:+ssh)?)|t(?:e(?:amspeak|lnet)|ftp|urns?)|u(?:dp|nreal|t2004)|v(?:entrilo|iew-source|nc)|w(?:ebcal|ss?)|x(?:mpp|ri)|zip)://(?:[0-9]{10}|(?:0x[0-9a-f]{2}.){3}0x[0-9a-f]{2}|0x(?:[0-9a-f]{8}|[0-9a-f]{16})|(?:0{1,4}[0-9]{1,3}.){3}0{1,4}[0-9]{1,3}|[0-9]{1,3}.(?:[0-9]{1,3}.[0-9]{5}|[0-9]{8})|(?:x5cx5c[-0-9a-z].?_?)+|[[0-:a-f]+(?:[.0-9]+|%[0-9A-Z_a-z]+)?]|[a-z][--.0-9A-Z_a-z]{1,255}:[0-9]{1,5}(?:#?[sv]*&?@(?:(?:[0-9]{1,3}.){3}[0-9]{1,3}|[a-z][--.0-9A-Z_a-z]{1,255}):[0-9]{1,5}/?)+|[.0-9]{0,11}(?:xe2(?:x91[xa0-xbf]|x92[x80-xbf]|x93[x80-xa9xab-xbf])|xe3x80x82)+))"
+ },
+ {
+ "category": "GENERIC",
+ "pattern": "@rx [s*constructors*]"
+ },
+ {
+ "category": "GENERIC",
+ "pattern": "@rx @{.*}"
+ },
+ {
+ "category": "GENERIC",
+ "pattern": "@lt 3"
+ },
+ {
+ "category": "GENERIC",
+ "pattern": "@lt 3"
+ },
+ {
+ "category": "GENERIC",
+ "pattern": "@lt 4"
+ },
+ {
+ "category": "GENERIC",
+ "pattern": "@lt 4"
+ },
+ {
+ "category": "PHP",
+ "pattern": "@lt 1"
+ },
+ {
+ "category": "PHP",
+ "pattern": "@lt 1"
+ },
+ {
+ "category": "PHP",
+ "pattern": "@pmFromFile php-errors.data"
+ },
+ {
+ "category": "PHP",
+ "pattern": "@rx (?:b(?:f(?:tp_(?:nb_)?f?(?:ge|pu)t|get(?:s?s|c)|scanf|write|open|read)|gz(?:(?:encod|writ)e|compress|open|read)|s(?:ession_start|candir)|read(?:(?:gz)?file|dir)|move_uploaded_file|(?:proc_|bz)open|call_user_func)|$_(?:(?:pos|ge)t|session))b"
+ },
+ {
+ "category": "PHP",
+ "pattern": "@rx (?i)(?:=|php)?s+"
+ },
+ {
+ "category": "PHP",
+ "pattern": "@lt 2"
+ },
+ {
+ "category": "PHP",
+ "pattern": "@lt 2"
+ },
+ {
+ "category": "PHP",
+ "pattern": "@pmFromFile php-errors-pl2.data"
+ },
+ {
+ "category": "PHP",
+ "pattern": "@lt 3"
+ },
+ {
+ "category": "PHP",
+ "pattern": "@lt 3"
+ },
+ {
+ "category": "PHP",
+ "pattern": "@lt 4"
+ },
+ {
+ "category": "PHP",
+ "pattern": "@lt 4"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@lt 1"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@lt 1"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@pmFromFile java-code-leakages.data"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@pmFromFile java-errors.data"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@lt 2"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@lt 2"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@lt 3"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@lt 3"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@lt 4"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@lt 4"
+ },
+ {
+ "category": "PHP",
+ "pattern": "@lt 1"
+ },
+ {
+ "category": "PHP",
+ "pattern": "@lt 1"
+ },
+ {
+ "category": "PHP",
+ "pattern": "@rx (?:(?:[^x]|x[^m]|xm[^l]|xml[^s]|xml$|$)|"
+ },
+ {
+ "category": "PHP",
+ "pattern": "@rx (?:((?:.+)(?:[\"'][-0-9A-Z_a-z]+[\"'])?(.+|[^)]*string[^)]*)[sv\"'--.0-9A-[]_a-{}]+([^)]*)|(?:[[0-9]+]|{[0-9]+}|$[^(-),.-/;x5c]+|[\"'][-0-9A-Zx5c_a-z]+[\"'])(.+))(?:;|$)?"
+ },
+ {
+ "category": "PHP",
+ "pattern": "@lt 4"
+ },
+ {
+ "category": "PHP",
+ "pattern": "@lt 4"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@lt 1"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@lt 1"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@rx java.lang.(?:runtime|processbuilder)"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@rx (?:runtime|processbuilder)"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@rx (?:unmarshaller|base64data|java.)"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@rx (?:clonetransformer|forclosure|instantiatefactory|instantiatetransformer|invokertransformer|prototypeclonefactory|prototypeserializationfactory|whileclosure|getproperty|filewriter|xmldecoder)"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@rx (?:runtime|processbuilder)"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@pmFromFile java-classes.data"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@rx .*.(?:jsp|jspx).*$"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@rx (?i)(?:$|$?)(?:{|&l(?:brace|cub);?)(?:[^}]{0,15}(?:$|$?)(?:{|&l(?:brace|cub);?)|jndi|ctx)"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@lt 2"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@lt 2"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@rx (?i)(?:$|$?)(?:{|&l(?:brace|cub);?)(?:[^}]*(?:$|$?)(?:{|&l(?:brace|cub);?)|jndi|ctx)"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@rx xacxedx00x05"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@rx (?:rO0ABQ|KztAAU|Cs7QAF)"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@rx (?:clonetransformer|forclosure|instantiatefactory|instantiatetransformer|invokertransformer|prototypeclonefactory|prototypeserializationfactory|whileclosure|getproperty|filewriter|xmldecoder)"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@rx javab.+(?:runtime|processbuilder)"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@rx (?:class.module.classLoader.resources.context.parent.pipeline|springframework.context.support.FileSystemXmlApplicationContext)"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@lt 3"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@lt 3"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@rx (?:cnVudGltZQ|HJ1bnRpbWU|BydW50aW1l|cHJvY2Vzc2J1aWxkZXI|HByb2Nlc3NidWlsZGVy|Bwcm9jZXNzYnVpbGRlcg|Y2xvbmV0cmFuc2Zvcm1lcg|GNsb25ldHJhbnNmb3JtZXI|BjbG9uZXRyYW5zZm9ybWVy|Zm9yY2xvc3VyZQ|GZvcmNsb3N1cmU|Bmb3JjbG9zdXJl|aW5zdGFudGlhdGVmYWN0b3J5|Gluc3RhbnRpYXRlZmFjdG9yeQ|BpbnN0YW50aWF0ZWZhY3Rvcnk|aW5zdGFudGlhdGV0cmFuc2Zvcm1lcg|Gluc3RhbnRpYXRldHJhbnNmb3JtZXI|BpbnN0YW50aWF0ZXRyYW5zZm9ybWVy|aW52b2tlcnRyYW5zZm9ybWVy|Gludm9rZXJ0cmFuc2Zvcm1lcg|BpbnZva2VydHJhbnNmb3JtZXI|cHJvdG90eXBlY2xvbmVmYWN0b3J5|HByb3RvdHlwZWNsb25lZmFjdG9yeQ|Bwcm90b3R5cGVjbG9uZWZhY3Rvcnk|cHJvdG90eXBlc2VyaWFsaXphdGlvbmZhY3Rvcnk|HByb3RvdHlwZXNlcmlhbGl6YXRpb25mYWN0b3J5|Bwcm90b3R5cGVzZXJpYWxpemF0aW9uZmFjdG9yeQ|d2hpbGVjbG9zdXJl|HdoaWxlY2xvc3VyZQ|B3aGlsZWNsb3N1cmU)"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@lt 4"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@lt 4"
+ },
+ {
+ "category": "JAVA",
+ "pattern": "@rx (?i)(?:$|$?)(?:{|&l(?:brace|cub);?)"
+ },
+ {
+ "category": "FIXATION",
+ "pattern": "@lt 1"
+ },
+ {
+ "category": "FIXATION",
+ "pattern": "@lt 1"
+ },
+ {
+ "category": "FIXATION",
+ "pattern": "@rx (?i:.cookieb.*?;W*?(?:expires|domain)W*?=|bhttp-equivW+set-cookieb)"
+ },
+ {
+ "category": "FIXATION",
+ "pattern": "@rx ^(?:jsessionid|aspsessionid|asp.net_sessionid|phpsession|phpsessid|weblogicsession|session_id|session-id|cfid|cftoken|cfsid|jservsession|jwsession)$"
+ },
+ {
+ "category": "FIXATION",
+ "pattern": "@rx ^(?:ht|f)tps?://(.*?)/"
+ },
+ {
+ "category": "FIXATION",
+ "pattern": "!@endsWith %{request_headers.host}"
+ },
+ {
+ "category": "FIXATION",
+ "pattern": "@rx ^(?:jsessionid|aspsessionid|asp.net_sessionid|phpsession|phpsessid|weblogicsession|session_id|session-id|cfid|cftoken|cfsid|jservsession|jwsession)$"
+ },
+ {
+ "category": "FIXATION",
+ "pattern": "@eq 0"
+ },
+ {
+ "category": "FIXATION",
+ "pattern": "@lt 2"
+ },
+ {
+ "category": "FIXATION",
+ "pattern": "@lt 2"
+ },
+ {
+ "category": "FIXATION",
+ "pattern": "@lt 3"
+ },
+ {
+ "category": "FIXATION",
+ "pattern": "@lt 3"
+ },
+ {
+ "category": "FIXATION",
+ "pattern": "@lt 4"
+ },
+ {
+ "category": "FIXATION",
+ "pattern": "@lt 4"
+ },
+ {
+ "category": "XSS",
+ "pattern": "@lt 1"
+ },
+ {
+ "category": "XSS",
+ "pattern": "@lt 1"
+ },
+ {
+ "category": "XSS",
+ "pattern": "!@validateByteRange 20, 45-47, 48-57, 65-90, 95, 97-122"
+ },
+ {
+ "category": "XSS",
+ "pattern": "@detectXSS"
+ },
+ {
+ "category": "XSS",
+ "pattern": "@rx (?i)