diff --git a/owasp_rules.json b/owasp_rules.json index 202f106..f22abc8 100644 --- a/owasp_rules.json +++ b/owasp_rules.json @@ -1,56 +1,312 @@ [ { - "category": "LFI", + "category": "INITIALIZATION", + "pattern": "@eq 0" + }, + { + "category": "INITIALIZATION", + "pattern": "@eq 0" + }, + { + "category": "INITIALIZATION", + "pattern": "@eq 0" + }, + { + "category": "INITIALIZATION", + "pattern": "@eq 0" + }, + { + "category": "INITIALIZATION", + "pattern": "@eq 0" + }, + { + "category": "INITIALIZATION", + "pattern": "@eq 0" + }, + { + "category": "INITIALIZATION", + "pattern": "@eq 0" + }, + { + "category": "INITIALIZATION", + "pattern": "@eq 0" + }, + { + "category": "INITIALIZATION", + "pattern": "@eq 0" + }, + { + "category": "INITIALIZATION", + "pattern": "@eq 0" + }, + { + "category": "INITIALIZATION", + "pattern": "@eq 0" + }, + { + "category": "INITIALIZATION", + "pattern": "@eq 0" + }, + { + "category": "INITIALIZATION", + "pattern": "@eq 0" + }, + { + "category": "INITIALIZATION", + "pattern": "@eq 0" + }, + { + "category": "INITIALIZATION", + "pattern": "@eq 0" + }, + { + "category": "INITIALIZATION", + "pattern": "@eq 0" + }, + { + "category": "INITIALIZATION", + "pattern": "@eq 0" + }, + { + "category": "INITIALIZATION", + "pattern": "@eq 0" + }, + { + "category": "INITIALIZATION", + "pattern": "@eq 0" + }, + { + "category": "INITIALIZATION", + "pattern": "@eq 0" + }, + { + "category": "INITIALIZATION", + "pattern": "@eq 0" + }, + { + "category": "INITIALIZATION", + "pattern": "@eq 1" + }, + { + "category": "INITIALIZATION", + "pattern": "@rx ^.*$" + }, + { + "category": "INITIALIZATION", + "pattern": "!@rx (?:URLENCODED|MULTIPART|XML|JSON)" + }, + { + "category": "INITIALIZATION", + "pattern": "@eq 1" + }, + { + "category": "INITIALIZATION", + "pattern": "!@rx (?:URLENCODED|MULTIPART|XML|JSON)" + }, + { + "category": "INITIALIZATION", + "pattern": "@eq 100" + }, + { + "category": "INITIALIZATION", + "pattern": "@rx ^[a-f]*([0-9])[a-f]*([0-9])" + }, + { + "category": "INITIALIZATION", + "pattern": "!@lt %{tx.sampling_percentage}" + }, + { + "category": "INITIALIZATION", + "pattern": "@lt %{tx.blocking_paranoia_level}" + }, + { + "category": "RFI", "pattern": "@lt 1" }, { - "category": "LFI", + "category": "RFI", "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": "RFI", + "pattern": "@rx ^(?i:file|ftps?|https?)://(?:d{1,3}.d{1,3}.d{1,3}.d{1,3})" }, { - "category": "LFI", - "pattern": "@rx (?:(?:^|[x5c/;]).{2,3}[x5c/;]|[x5c/;].{2,3}(?:[x5c/;]|$))" + "category": "RFI", + "pattern": "@rx (?i)(?:bincludes*([^)]*|mosConfig_absolute_path|_CONF[path]|_SERVER[DOCUMENT_ROOT]|GALLERY_BASEDIR|path[docroot]|appserv_root|config[root_dir])=(?:file|ftps?|https?)://" }, { - "category": "LFI", - "pattern": "@pmFromFile lfi-os-files.data" + "category": "RFI", + "pattern": "@rx ^(?i:file|ftps?|https?).*??+$" }, { - "category": "LFI", - "pattern": "@pmFromFile restricted-files.data" - }, - { - "category": "LFI", + "category": "RFI", "pattern": "@lt 2" }, { - "category": "LFI", + "category": "RFI", "pattern": "@lt 2" }, { - "category": "LFI", - "pattern": "@pmFromFile lfi-os-files.data" + "category": "RFI", + "pattern": "@rx (?i)(?:(?:url|jar):)?(?: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)://(?:[^@]+@)?([^/]*)" }, { - "category": "LFI", + "category": "RFI", + "pattern": "!@endsWith .%{request_headers.host}" + }, + { + "category": "RFI", + "pattern": "@rx (?i)(?:(?:url|jar):)?(?: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)://(?:[^@]+@)?([^/]*)" + }, + { + "category": "RFI", + "pattern": "!@endsWith .%{request_headers.host}" + }, + { + "category": "RFI", "pattern": "@lt 3" }, { - "category": "LFI", + "category": "RFI", "pattern": "@lt 3" }, { - "category": "LFI", + "category": "RFI", "pattern": "@lt 4" }, { - "category": "LFI", + "category": "RFI", "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": "EXCEPTIONS", + "pattern": "@streq GET /" + }, + { + "category": "EXCEPTIONS", + "pattern": "@ipMatch 127.0.0.1,::1" + }, + { + "category": "EXCEPTIONS", + "pattern": "@ipMatch 127.0.0.1,::1" + }, + { + "category": "EXCEPTIONS", + "pattern": "@endsWith (internal dummy connection)" + }, + { + "category": "EXCEPTIONS", + "pattern": "@rx ^(?:GET /|OPTIONS *) HTTP/[12].[01]$" + }, { "category": "ATTACK", "pattern": "@lt 1" @@ -156,39 +412,199 @@ "pattern": "@rx [" }, { - "category": "DETECTION", + "category": "JAVA", "pattern": "@lt 1" }, { - "category": "DETECTION", + "category": "JAVA", "pattern": "@lt 1" }, { - "category": "DETECTION", - "pattern": "@pmFromFile scanners-user-agents.data" + "category": "JAVA", + "pattern": "@rx java.lang.(?:runtime|processbuilder)" }, { - "category": "DETECTION", + "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": "DETECTION", + "category": "JAVA", "pattern": "@lt 2" }, { - "category": "DETECTION", + "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": "DETECTION", + "category": "JAVA", "pattern": "@lt 3" }, { - "category": "DETECTION", + "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": "DETECTION", + "category": "JAVA", + "pattern": "@lt 4" + }, + { + "category": "JAVA", + "pattern": "@rx (?i)(?:$|$?)(?:{|&l(?:brace|cub);?)" + }, + { + "category": "SQL", + "pattern": "@lt 1" + }, + { + "category": "SQL", + "pattern": "@lt 1" + }, + { + "category": "SQL", + "pattern": "!@pmFromFile sql-errors.data" + }, + { + "category": "SQL", + "pattern": "@rx (?i:JET Database Engine|Access Database Engine|[Microsoft][ODBC Microsoft Access Driver])" + }, + { + "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", + "pattern": "@lt 2" + }, + { + "category": "SQL", + "pattern": "@lt 2" + }, + { + "category": "SQL", + "pattern": "@lt 3" + }, + { + "category": "SQL", + "pattern": "@lt 3" + }, + { + "category": "SQL", + "pattern": "@lt 4" + }, + { + "category": "SQL", "pattern": "@lt 4" }, { @@ -227,6 +643,190 @@ "category": "ENFORCEMENT", "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": "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": "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": "FIXATION", "pattern": "@lt 1" @@ -283,6 +883,670 @@ "category": "FIXATION", "pattern": "@lt 4" }, + { + "category": "PHP", + "pattern": "@lt 1" + }, + { + "category": "PHP", + "pattern": "@lt 1" + }, + { + "category": "PHP", + "pattern": "@rx (?:" + }, + { + "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": "SQLI", + "pattern": "@lt 1" + }, + { + "category": "SQLI", + "pattern": "@lt 1" + }, + { + "category": "SQLI", + "pattern": "@detectSQLi" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)b(?:d(?:atabas|b_nam)e[^0-9A-Z_a-z]*(|(?:information_schema|m(?:aster..sysdatabases|s(?:db|ys(?:ac(?:cess(?:objects|storage|xml)|es)|modules2?|(?:object|querie|relationship)s))|ysql.db)|northwind|pg_(?:catalog|toast)|tempdb)b|s(?:chema(?:_nameb|[^0-9A-Z_a-z]*()|(?:qlite_(?:temp_)?master|ys(?:aux|.database_name))b))" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)b(?:a(?:dd(?:dat|tim)e|es_(?:de|en)crypt|s(?:cii(?:str)?|in)|tan2?)|b(?:enchmark|i(?:n_to_num|t_(?:and|count|length|x?or)))|c(?:har(?:acter)?_length|iel(?:ing)?|o(?:alesce|ercibility|llation|(?:mpres)?s|n(?:cat(?:_ws)?|nection_id|v(?:ert(?:_tz)?)?)|t)|r32|ur(?:(?:dat|tim)e|rent_(?:date|setting|time(?:stamp)?|user)))|d(?:a(?:t(?:abase(?:_to_xml)?|e(?:_(?:add|format|sub)|diff))|y(?:name|of(?:month|week|year)))|count|e(?:code|grees|s_(?:de|en)crypt)|ump)|e(?:lt|n(?:c(?:ode|rypt)|ds_?with)|x(?:p(?:ort_set)?|tract(?:value)?))|f(?:i(?:el|n)d_in_set|ound_rows|rom_(?:base64|days|unixtime))|g(?:e(?:ometrycollection|t(?:_(?:format|lock)|pgusername))|(?:r(?:eates|oup_conca)|tid_subse)t)|hex(?:toraw)?|i(?:fnull|n(?:et6?_(?:aton|ntoa)|s(?:ert|tr)|terval)|s(?:_(?:(?:free|used)_lock|ipv(?:4(?:_(?:compat|mapped))?|6)|n(?:ot(?:_null)?|ull)|superuser)|null))|json(?:_(?:a(?:gg|rray(?:_(?:elements(?:_text)?|length))?)|build_(?:array|object)|e(?:ac|xtract_pat)h(?:_text)?|object(?:_(?:agg|keys))?|populate_record(?:set)?|strip_nulls|t(?:o_record(?:set)?|ypeof))|b(?:_(?:array(?:_(?:elements(?:_text)?|length))?|build_(?:array|object)|object(?:_(?:agg|keys))?|e(?:ac|xtract_pat)h(?:_text)?|insert|p(?:ath_(?:(?:exists|match)(?:_tz)?|query(?:_(?:(?:array|first)(?:_tz)?|tz))?)|opulate_record(?:set)?|retty)|s(?:et(?:_lax)?|trip_nulls)|t(?:o_record(?:set)?|ypeof)))?|path)?|l(?:ast_(?:day|inser_id)|case|e(?:as|f)t|i(?:kel(?:ihood|y)|nestring)|o(?:_(?:from_bytea|put)|ad_file|ca(?:ltimestamp|te)|g(?:10|2)|wer)|pad|trim)|m(?:a(?:ke(?:_set|date)|ster_pos_wait)|d5|i(?:crosecon)?d|onthname|ulti(?:linestring|po(?:int|lygon)))|n(?:ame_const|ot_in|ullif)|o(?:ct(?:et_length)?|(?:ld_passwo)?rd)|p(?:eriod_(?:add|diff)|g_(?:client_encoding|(?:databas|read_fil)e|l(?:argeobject|s_dir)|sleep|user)|o(?:(?:lyg|siti)on|w)|rocedure_analyse)|qu(?:arter|ery_to_xml|ote)|r(?:a(?:dians|nd|wtohex)|elease_lock|ow_(?:count|to_json)|pad|trim)|s(?:chema|e(?:c_to_time|ssion_user)|ha[1-2]?|in|oundex|pace|q(?:lite_(?:compileoption_(?:get|used)|source_id)|rt)|t(?:arts_?with|d(?:dev_(?:po|sam)p)?|r(?:_to_date|cmp))|ub(?:(?:dat|tim)e|str(?:ing(?:_index)?)?)|ys(?:date|tem_user))|t(?:ime(?:_(?:format|to_sec)|diff|stamp(?:add|diff)?)|o(?:_(?:base64|jsonb?)|n?char|(?:day|second)s)|r(?:im|uncate))|u(?:case|n(?:compress(?:ed_length)?|hex|i(?:str|x_timestamp)|likely)|(?:pdatexm|se_json_nul)l|tc_(?:date|time(?:stamp)?)|uid(?:_short)?)|var(?:_(?:po|sam)p|iance)|we(?:ek(?:day|ofyear)|ight_string)|xmltype|yearweek)[^0-9A-Z_a-z]*(" + }, + { + "category": "SQLI", + "pattern": "@rx (?i:sleep(s*?d*?s*?)|benchmark(.*?,.*?))" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)(?:select|;)[sv]+(?:benchmark|if|sleep)[sv]*?([sv]*?(?[sv]*?[0-9A-Z_a-z]+" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)[\"'`](?:[sv]*![sv]*[\"'0-9A-Z_-z]|;?[sv]*(?:having|select|unionb[sv]*(?:all|(?:distin|sele)ct))b[sv]*[^sv])|b(?:(?:(?:c(?:onnection_id|urrent_user)|database|schema|user)[sv]*?|select.*?[0-9A-Z_a-z]?user)(|exec(?:ute)?[sv]+master.|from[^0-9A-Z_a-z]+information_schema[^0-9A-Z_a-z]|into[sv+]+(?:dump|out)file[sv]*?[\"'`]|union(?:[sv]select[sv]@|[sv(0-9A-Z_a-z]*?select))|[sv]*?exec(?:ute)?.*?[^0-9A-Z_a-z]xp_cmdshell|[^0-9A-Z_a-z]iif[sv]*?(" + }, + { + "category": "SQLI", + "pattern": "@rx ^(?i:-0000023456|4294967295|4294967296|2147483648|2147483647|0000012345|-2147483648|-2147483649|0000023456|2.2250738585072007e-308|2.2250738585072011e-308|1e309)$" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)[sv(-)]case[sv]+when.*?then|)[sv]*?like[sv]*?(|select.*?having[sv]*?[^sv]+[sv]*?[^sv0-9A-Z_a-z]|if[sv]?([0-9A-Z_a-z]+[sv]*?[<->~]" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)alter[sv]*?[0-9A-Z_a-z]+.*?char(?:acter)?[sv]+set[sv]+[0-9A-Z_a-z]+|[\"'`](?:;*?[sv]*?waitfor[sv]+(?:time|delay)[sv]+[\"'`]|;.*?:[sv]*?goto)" + }, + { + "category": "SQLI", + "pattern": "@rx (?i:merge.*?usings*?(|executes*?immediates*?[\"'`]|matchs*?[w(),+-]+s*?againsts*?()" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)union.*?select.*?from" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)select[sv]*?pg_sleep|waitfor[sv]*?delay[sv]?[\"'`]+[sv]?[0-9]|;[sv]*?shutdown[sv]*?(?:[#;{]|/*|--)" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)[?$(?:n(?:e|in?|o[rt])|e(?:q|xists|lemMatch)|l(?:te?|ike)|mod|a(?:ll|nd)|(?:s(?:iz|lic)|wher)e|t(?:ype|ext)|x?or|div|between|regex|jsonSchema)]?" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)create[sv]+(?:function|procedure)[sv]*?[0-9A-Z_a-z]+[sv]*?([sv]*?)[sv]*?-|d(?:eclare[^0-9A-Z_a-z]+[#@][sv]*?[0-9A-Z_a-z]+|iv[sv]*?([+-]*[sv.0-9]+,[+-]*[sv.0-9]+))|exec[sv]*?([sv]*?@|(?:lo_(?:impor|ge)t|procedure[sv]+analyse)[sv]*?(|;[sv]*?(?:declare|open)[sv]+[-0-9A-Z_a-z]+|::(?:b(?:igint|ool)|double[sv]+precision|int(?:eger)?|numeric|oid|real|(?:tex|smallin)t)" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)create[sv]+function[sv].+[sv]returns|;[sv]*?(?:alter|(?:(?:cre|trunc|upd)at|renam)e|d(?:e(?:lete|sc)|rop)|(?:inser|selec)t|load)b[sv]*?[([]?[0-9A-Z_a-z]{2,}" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)b(?:(?:alter|(?:(?:cre|trunc|upd)at|renam)e|de(?:lete|sc)|(?:inser|selec)t|load)[sv]+(?:char|group_concat|load_file)b[sv]*(?|end[sv]*?);)|[sv(]load_file[sv]*?(|[\"'`][sv]+regexp[^0-9A-Z_a-z]|[\"'0-9A-Z_-z][sv]+asb[sv]*[\"'0-9A-Z_-z]+[sv]*bfrom|^[^A-Z_a-z]+[sv]*?(?:(?:(?:(?:cre|trunc)at|renam)e|d(?:e(?:lete|sc)|rop)|(?:inser|selec)t|load)[sv]+[0-9A-Z_a-z]+|u(?:pdate[sv]+[0-9A-Z_a-z]+|nion[sv]*(?:all|(?:sele|distin)ct)b)|alter[sv]*(?:a(?:(?:ggregat|pplication[sv]*rol)e|s(?:sembl|ymmetric[sv]*ke)y|u(?:dit|thorization)|vailability[sv]*group)|b(?:roker[sv]*priority|ufferpool)|c(?:ertificate|luster|o(?:l(?:latio|um)|nversio)n|r(?:edential|yptographic[sv]*provider))|d(?:atabase|efault|i(?:mension|skgroup)|omain)|e(?:(?:ndpoi|ve)nt|xte(?:nsion|rnal))|f(?:lashback|oreign|u(?:lltext|nction))|hi(?:erarchy|stogram)|group|in(?:dex(?:type)?|memory|stance)|java|l(?:a(?:ngua|r)ge|ibrary|o(?:ckdown|g(?:file[sv]*group|in)))|m(?:a(?:s(?:k|ter[sv]*key)|terialized)|e(?:ssage[sv]*type|thod)|odule)|(?:nicknam|queu)e|o(?:perator|utline)|p(?:a(?:ckage|rtition)|ermission|ro(?:cedur|fil)e)|r(?:e(?:mot|sourc)e|o(?:l(?:e|lback)|ute))|s(?:chema|e(?:arch|curity|rv(?:er|ice)|quence|ssion)|y(?:mmetric[sv]*key|nonym)|togroup)|t(?:able(?:space)?|ext|hreshold|r(?:igger|usted)|ype)|us(?:age|er)|view|w(?:ork(?:load)?|rapper)|x(?:ml[sv]*schema|srobject))b)" + }, + { + "category": "SQLI", + "pattern": "@rx (?i:/*[!+](?:[ws=_-()]+)?*/)" + }, + { + "category": "SQLI", + "pattern": "@rx ^(?:[^']*'|[^\"]*\"|[^`]*`)[sv]*;" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)1.e[(-),]" + }, + { + "category": "SQLI", + "pattern": "@rx [\"'`][[{].*[]}][\"'`].*(::.*jsonb?)?.*(?:(?:@|->?)>|<@|?[&|]?|#>>?|[<>]|<-)|(?:(?:@|->?)>|<@|?[&|]?|#>>?|[<>]|<-)[\"'`][[{].*[]}][\"'`]|json_extract.*(.*)" + }, + { + "category": "SQLI", + "pattern": "@lt 2" + }, + { + "category": "SQLI", + "pattern": "@lt 2" + }, + { + "category": "SQLI", + "pattern": "@rx (?:^s*[\"'`;]+|[\"'`]+s*$)" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)!=|&&||||>[=->]|<(?:<|=>?|>(?:[sv]+binary)?)|b(?:(?:xor|r(?:egexp|like)|i(?:snull|like)|notnull)b|collate(?:[^0-9A-Z_a-z]*?(?:U&)?[\"'`]|[^0-9A-Z_a-z]+(?:(?:binary|nocase|rtrim)b|[0-9A-Z_a-z]*?_))|(?:likel(?:ihood|y)|unlikely)[sv]*()|r(?:egexp|like)[sv]+binary|not[sv]+between[sv]+(?:0[sv]+and|(?:'[^']*'|\"[^\"]*\")[sv]+and[sv]+(?:'[^']*'|\"[^\"]*\"))|is[sv]+null|like[sv]+(?:null|[0-9A-Z_a-z]+[sv]+escapeb)|(?:^|[^0-9A-Z_a-z])in[sv+]*([sv\"0-9]+[^(-)]*)|[!<->]{1,2}[sv]*allb" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)[sv\"'-)`]*?b([0-9A-Z_a-z]+)b[sv\"'-)`]*?(?:=|<=>|(?:sounds[sv]+)?like|glob|r(?:like|egexp))[sv\"'-)`]*?b([0-9A-Z_a-z]+)b" + }, + { + "category": "SQLI", + "pattern": "@streq %{TX.2}" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)[sv\"'-)`]*?b([0-9A-Z_a-z]+)b[sv\"'-)`]*?(?:![<->]|<[=->]?|>=?|^|is[sv]+not|not[sv]+(?:like|r(?:like|egexp)))[sv\"'-)`]*?b([0-9A-Z_a-z]+)b" + }, + { + "category": "SQLI", + "pattern": "!@streq %{TX.2}" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)b(?:json(?:_[0-9A-Z_a-z]+)?|a(?:bs|(?:cos|sin)h?|tan[2h]?|vg)|c(?:eil(?:ing)?|h(?:a(?:nges|r(?:set)?)|r)|o(?:alesce|sh?|unt)|ast)|d(?:e(?:grees|fault)|a(?:te|y))|exp|f(?:loor(?:avg)?|ormat|ield)|g(?:lob|roup_concat)|h(?:ex|our)|i(?:f(?:null)?|if|n(?:str)?)|l(?:ast(?:_insert_rowid)?|ength|ike(?:l(?:ihood|y))?|n|o(?:ad_extension|g(?:10|2)?|wer(?:pi)?|cal)|trim)|m(?:ax|in(?:ute)?|o(?:d|nth))|n(?:ullif|ow)|p(?:i|ow(?:er)?|rintf|assword)|quote|r(?:a(?:dians|ndom(?:blob)?)|e(?:p(?:lace|eat)|verse)|ound|trim|ight)|s(?:i(?:gn|nh?)|oundex|q(?:lite_(?:compileoption_(?:get|used)|offset|source_id|version)|rt)|u(?:bstr(?:ing)?|m)|econd|leep)|t(?:anh?|otal(?:_changes)?|r(?:im|unc)|ypeof|ime)|u(?:n(?:icode|likely)|(?:pp|s)er)|zeroblob|bin|v(?:alues|ersion)|week|year)[^0-9A-Z_a-z]*(" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)(?:/*)+[\"'`]+[sv]?(?:--|[#{]|/*)?|[\"'`](?:[sv]*(?:(?:x?or|and|div|like|between)[sv-0-9A-Z_a-z]+[(-)+--<->][sv]*[\"'0-9`]|[!=|](?:[sv -!+-0-9=]+.*?[\"'-(`].*?|[sv -!0-9=]+.*?[0-9]+)$|(?:like|print)[^0-9A-Z_a-z]+[\"'-(0-9A-Z_-z]|;)|(?:[<>~]+|[sv]*[^sv0-9A-Z_a-z]?=[sv]*|[^0-9A-Z_a-z]*?[+=]+[^0-9A-Z_a-z]*?)[\"'`])|[0-9][\"'`][sv]+[\"'`][sv]+[0-9]|^admin[sv]*?[\"'`]|[sv\"'-(`][sv]*?glob[^0-9A-Z_a-z]+[\"'-(0-9A-Z_-z]|[sv]is[sv]*?0[^0-9A-Z_a-z]|where[sv][sv,-.0-9A-Z_a-z]+[sv]=" + }, + { + "category": "SQLI", + "pattern": "@rx (?i),.*?[\"')0-9`-f][\"'`](?:[\"'`].*?[\"'`]|(?:r?n)?z|[^\"'`]+)|[^0-9A-Z_a-z]select.+[^0-9A-Z_a-z]*?from|(?:alter|(?:(?:cre|trunc|upd)at|renam)e|d(?:e(?:lete|sc)|rop)|(?:inser|selec)t|load)[sv]*?([sv]*?space[sv]*?(" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)(?:&&||||and|between|div|like|n(?:and|ot)|(?:xx?)?or)[sv(]+[0-9A-Z_a-z]+[sv)]*?[!+=]+[sv0-9]*?[\"'-)=`]|[0-9](?:[sv]*?(?:and|between|div|like|x?or)[sv]*?[0-9]+[sv]*?[+-]|[sv]+group[sv]+by.+()|/[0-9A-Z_a-z]+;?[sv]+(?:and|between|div|having|like|x?or|select)[^0-9A-Z_a-z]|(?:[#;]|--)[sv]*?(?:alter|drop|(?:insert|update)[sv]*?[0-9A-Z_a-z]{2,})|@.+=[sv]*?([sv]*?select|[^0-9A-Z_a-z]SET[sv]*?@[0-9A-Z_a-z]+" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)[\"'`][sv]*?(?:(?:and|n(?:and|ot)|(?:xx?)?or|div|like|between||||&&)[sv]+[sv0-9A-Z_a-z]+=[sv]*?[0-9A-Z_a-z]+[sv]*?having[sv]+|like[^0-9A-Z_a-z]*?[\"'0-9`])|[0-9A-Z_a-z][sv]+like[sv]+[\"'`]|like[sv]*?[\"'`]%|select[sv]+?[sv\"'-),-.0-9A-[]_-z]+from[sv]+" + }, + { + "category": "SQLI", + "pattern": "@rx (?i))[sv]*?when[sv]*?[0-9]+[sv]*?then|[\"'`][sv]*?(?:[#{]|--)|/*![sv]?[0-9]+|b(?:(?:binary|cha?r)[sv]*?([sv]*?[0-9]|(?:and|n(?:and|ot)|(?:xx?)?or|div|like|between|r(?:egexp|like))[sv]+[0-9A-Z_a-z]+()|(?:|||&&)[sv]*?[0-9A-Z_a-z]+(" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)(?:([sv]*?select[sv]*?[0-9A-Z_a-z]+|coalesce|order[sv]+by[sv]+if[0-9A-Z_a-z]*?)[sv]*?(|*/from|+[sv]*?[0-9]+[sv]*?+[sv]*?@|[0-9A-Z_a-z][\"'`][sv]*?(?:(?:[+-=@|]+[sv]+?)+|[+-=@|]+)[(0-9]|@@[0-9A-Z_a-z]+[sv]*?[^sv0-9A-Z_a-z]|[^0-9A-Z_a-z]!+[\"'`][0-9A-Z_a-z]|[\"'`](?:;[sv]*?(?:if|while|begin)|[sv0-9]+=[sv]*?[0-9])|[sv(]+case[0-9]*?[^0-9A-Z_a-z].+[tw]hen[sv(]" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)[\"'`][sv]*?b(?:x?or|div|like|between|and)b[sv]*?[\"'`]?[0-9]|x5cx(?:2[37]|3d)|^(?:.?[\"'`]$|[\"'x5c`]*?(?:[\"'0-9`]+|[^\"'`]+[\"'`])[sv]*?b(?:and|n(?:and|ot)|(?:xx?)?or|div|like|between||||&&)b[sv]*?[\"'0-9A-Z_-z][!&(-)+-.@])|[^sv0-9A-Z_a-z][0-9A-Z_a-z]+[sv]*?[-|][sv]*?[\"'`][sv]*?[0-9A-Z_a-z]|@(?:[0-9A-Z_a-z]+[sv]+(?:and|x?or|div|like|between)b[sv]*?[\"'0-9`]+|[-0-9A-Z_a-z]+[sv](?:and|x?or|div|like|between)b[sv]*?[^sv0-9A-Z_a-z])|[^sv0-:A-Z_a-z][sv]*?[0-9][^0-9A-Z_a-z]+[^sv0-9A-Z_a-z][sv]*?[\"'`].|[^0-9A-Z_a-z]information_schema|table_name[^0-9A-Z_a-z]" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)in[sv]*?(+[sv]*?select|(?:(?:(?i:N)?AND|(?i:X)?(?i:X)?OR|DIV|LIKE|BETWEEN|NOT)[sv]+|(?:|||&&)[sv]*)[sv+0-9A-Z_a-z]+(?:regexp[sv]*?(|sounds[sv]+like[sv]*?[\"'`]|[0-9=]+x)|[\"'`](?:[sv]*?(?:[0-9][sv]*?(?:--|#)|is[sv]*?(?:[0-9].+[\"'`]?[0-9A-Z_a-z]|[.0-9]+[sv]*?[^0-9A-Z_a-z].*?[\"'`]))|[%-&<->^]+[0-9][sv]*?(?:=|x?or|div|like|between|and)|(?:[^0-9A-Z_a-z]+[+-0-9A-Z_a-z]+[sv]*?=[sv]*?[0-9][^0-9A-Z_a-z]+||?[-0-9A-Z_a-z]{3,}[^sv,.0-9A-Z_a-z]+)[\"'`]|[sv]*(?:(?:(?i:N)?AND|(?i:X)?(?i:X)?OR|DIV|LIKE|BETWEEN|NOT)[sv]+|(?:|||&&)[sv]*)(?:array[sv]*[|[0-9A-Z_a-z]+(?:[sv]*!?~|[sv]+(?:not[sv]+)?similar[sv]+to[sv]+)|(?:tru|fals)eb))|bexcept[sv]+(?:selectb|values[sv]*?()" + }, + { + "category": "SQLI", + "pattern": "@rx (?i:^[Wd]+s*?(?:alter|union)b)" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)(?:alter|(?:(?:cre|trunc|upd)at|renam)e|de(?:lete|sc)|(?:inser|selec)t|load)[sv]+(?:char|group_concat|load_file)[sv]?(?|end[sv]*?);|[sv(]load_file[sv]*?(|[\"'`][sv]+regexp[^0-9A-Z_a-z]|[^A-Z_a-z][sv]+asb[sv]*[\"'0-9A-Z_-z]+[sv]*bfrom|^[^A-Z_a-z]+[sv]*?(?:create[sv]+[0-9A-Z_a-z]+|(?:d(?:e(?:lete|sc)|rop)|(?:inser|selec)t|load|(?:renam|truncat)e|u(?:pdate|nion[sv]*(?:all|(?:sele|distin)ct))|alter[sv]*(?:a(?:(?:ggregat|pplication[sv]*rol)e|s(?:sembl|ymmetric[sv]*ke)y|u(?:dit|thorization)|vailability[sv]*group)|b(?:roker[sv]*priority|ufferpool)|c(?:ertificate|luster|o(?:l(?:latio|um)|nversio)n|r(?:edential|yptographic[sv]*provider))|d(?:atabase|efault|i(?:mension|skgroup)|omain)|e(?:(?:ndpoi|ve)nt|xte(?:nsion|rnal))|f(?:lashback|oreign|u(?:lltext|nction))|hi(?:erarchy|stogram)|group|in(?:dex(?:type)?|memory|stance)|java|l(?:a(?:ngua|r)ge|ibrary|o(?:ckdown|g(?:file[sv]*group|in)))|m(?:a(?:s(?:k|ter[sv]*key)|terialized)|e(?:ssage[sv]*type|thod)|odule)|(?:nicknam|queu)e|o(?:perator|utline)|p(?:a(?:ckage|rtition)|ermission|ro(?:cedur|fil)e)|r(?:e(?:mot|sourc)e|o(?:l(?:e|lback)|ute))|s(?:chema|e(?:arch|curity|rv(?:er|ice)|quence|ssion)|y(?:mmetric[sv]*key|nonym)|togroup)|t(?:able(?:space)?|ext|hreshold|r(?:igger|usted)|ype)|us(?:age|er)|view|w(?:ork(?:load)?|rapper)|x(?:ml[sv]*schema|srobject)))b)" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)[\"'`](?:[sv]*?(?:(?:*.+(?:x?or|div|like|between|(?:an|i)d)[^0-9A-Z_a-z]*?[\"'`]|(?:x?or|div|like|between|and)[sv][^0-9]+[-0-9A-Z_a-z]+.*?)[0-9]|[^sv0-9?A-Z_a-z]+[sv]*?[^sv0-9A-Z_a-z]+[sv]*?[\"'`]|[^sv0-9A-Z_a-z]+[sv]*?[^A-Z_a-z].*?(?:#|--))|.*?*[sv]*?[0-9])|^[\"'`]|[%(-+-<>][-0-9A-Z_a-z]+[^sv0-9A-Z_a-z]+[\"'`][^,]" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)b(?:havingb(?:[sv]+(?:[0-9]{1,10}|'[^=]{1,10}')[sv]*?[<->]| ?(?:[0-9]{1,10} ?[<->]+|[\"'][^=]{1,10}[ \"'<-?[]+))|ex(?:ecute(?:(|[sv]{1,5}[$.0-9A-Z_a-z]{1,5}[sv]{0,3})|ists[sv]*?([sv]*?selectb)|(?:create[sv]+?table.{0,20}?|like[^0-9A-Z_a-z]*?char[^0-9A-Z_a-z]*?)()|select.*?case|from.*?limit|order[sv]by|exists[sv](?:[sv]select|s(?:elect[^sv](?:if(?:null)?[sv](|top|concat)|ystem[sv]()|bhavingb[sv]+[0-9]{1,10}|'[^=]{1,10}')" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)b(?:orb(?:[sv]?(?:[0-9]{1,10}|[\"'][^=]{1,10}[\"'])[sv]?[<->]+|[sv]+(?:[0-9]{1,10}|'[^=]{1,10}')(?:[sv]*?[<->])?)|xorb[sv]+(?:[0-9]{1,10}|'[^=]{1,10}')(?:[sv]*?[<->])?)|'[sv]+x?or[sv]+.{1,20}[!+-<->]" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)bandb(?:[sv]+(?:[0-9]{1,10}[sv]*?[<->]|'[^=]{1,10}')| ?(?:[0-9]{1,10}|[\"'][^=]{1,10}[\"']) ?[<->]+)" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)b(?:a(?:(?:b|co)s|dd(?:dat|tim)e|es_(?:de|en)crypt|s(?:in|cii(?:str)?)|tan2?|vg)|b(?:enchmark|i(?:n(?:_to_num)?|t_(?:and|count|length|x?or)))|c(?:ast|h(?:ar(?:(?:acter)?_length|set)?|r)|iel(?:ing)?|o(?:alesce|ercibility|(?:mpres)?s|n(?:cat(?:_ws)?|nection_id|v(?:ert(?:_tz)?)?)|(?:un)?t)|r32|ur(?:(?:dat|tim)e|rent_(?:date|time(?:stamp)?|user)))|d(?:a(?:t(?:abase|e(?:_(?:add|format|sub)|diff)?)|y(?:name|of(?:month|week|year))?)|count|e(?:code|(?:faul|s_(?:de|en)cryp)t|grees)|ump)|e(?:lt|nc(?:ode|rypt)|x(?:p(?:ort_set)?|tract(?:value)?))|f(?:i(?:eld(?:_in_set)?|nd_in_set)|loor|o(?:rmat|und_rows)|rom_(?:base64|days|unixtime))|g(?:et_(?:format|lock)|r(?:eates|oup_conca)t)|h(?:ex(?:toraw)?|our)|i(?:f(?:null)?|n(?:et6?_(?:aton|ntoa)|s(?:ert|tr)|terval)?|s(?:_(?:(?:free|used)_lock|ipv(?:4(?:_(?:compat|mapped))?|6)|n(?:ot(?:_null)?|ull))|null)?)|l(?:ast(?:_(?:day|insert_id))?|case|e(?:(?:as|f)t|ngth)|n|o(?:ad_file|ca(?:l(?:timestamp)?|te)|g(?:10|2)?|wer)|pad|trim)|m(?:a(?:ke(?:date|_set)|ster_pos_wait|x)|d5|i(?:(?:crosecon)?d|n(?:ute)?)|o(?:d|nth(?:name)?))|n(?:ame_const|o(?:t_in|w)|ullif)|o(?:ct(?:et_length)?|(?:ld_passwo)?rd)|p(?:assword|eriod_(?:add|diff)|g_sleep|i|o(?:sition|w(?:er)?)|rocedure_analyse)|qu(?:arter|ote)|r(?:a(?:dians|nd|wto(?:hex|nhex(?:toraw)?))|e(?:lease_lock|p(?:eat|lace)|verse)|ight|o(?:und|w_count)|pad|trim)|s(?:chema|e(?:c(?:ond|_to_time)|ssion_user)|ha[1-2]?|ig?n|leep|oundex|pace|qrt|t(?:d(?:dev(?:_(?:po|sam)p)?)?|r(?:cmp|_to_date))|u(?:b(?:(?:dat|tim)e|str(?:ing(?:_index)?)?)|m)|ys(?:date|tem_user))|t(?:an|ime(?:diff|_(?:format|to_sec)|stamp(?:add|diff)?)?|o_(?:base64|n?char|(?:day|second)s)|r(?:im|uncate))|u(?:case|n(?:compress(?:ed_length)?|hex|ix_timestamp)|p(?:datexml|per)|ser|tc_(?:date|time(?:stamp)?)|uid(?:_short)?)|v(?:a(?:lues|r(?:iance|_(?:po|sam)p))|ersion)|we(?:ek(?:day|ofyear)?|ight_string)|xmltype|year(?:week)?)[^0-9A-Z_a-z]*?(" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)autonomous_transaction|(?:current_use|n?varcha|tbcreato)r|db(?:a_users|ms_java)|open(?:owa_util|query|rowset)|s(?:p_(?:(?:addextendedpro|sqlexe)c|execute(?:sql)?|help|is_srvrolemember|makewebtask|oacreate|p(?:assword|repare)|replwritetovarbin)|ql_(?:longvarchar|variant))|utl_(?:file|http)|xp_(?:availablemedia|(?:cmdshel|servicecontro)l|dirtree|e(?:numdsn|xecresultset)|filelist|loginconfig|makecab|ntsec(?:_enumdomains)?|reg(?:addmultistring|delete(?:key|value)|enum(?:key|value)s|re(?:ad|movemultistring)|write)|terminate(?:_process)?)" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)b(?:(?:d(?:bms_[0-9A-Z_a-z]+.|eleteb[^0-9A-Z_a-z]*?bfrom)|(?:groupb.*?bbyb.{1,100}?bhav|overlayb[^0-9A-Z_a-z]*?(.*?b[^0-9A-Z_a-z]*?plac)ing|in(?:nerb[^0-9A-Z_a-z]*?bjoin|sertb[^0-9A-Z_a-z]*?binto|tob[^0-9A-Z_a-z]*?b(?:dump|out)file)|loadb[^0-9A-Z_a-z]*?bdatab.*?binfile|s(?:electb.{1,100}?b(?:(?:.*?bdumpb.*|(?:count|length)b.{1,100}?)bfrom|(?:data_typ|fromb.{1,100}?bwher)e|instr|to(?:_(?:cha|numbe)r|pb.{1,100}?bfrom))|ys_context)|u(?:nionb.{1,100}?bselect|tl_inaddr))b|printb[^0-9A-Z_a-z]*?@@)|(?:collation[^0-9A-Z_a-z]*?(a|@@version|;[^0-9A-Z_a-z]*?b(?:drop|shutdown))b|'(?:dbo|msdasql|s(?:a|qloledb))'" + }, + { + "category": "SQLI", + "pattern": "@rx ((?:[~!@#$%^&*()-+={}[]|:;\"'\u00b4\u2019\u2018`<>][^~!@#$%^&*()-+={}[]|:;\"'\u00b4\u2019\u2018`<>]*?){12})" + }, + { + "category": "SQLI", + "pattern": "@rx /*!?|*/|[';]--|--(?:[sv]|[^-]*?-)|[^&-]#.*?[sv]|;?x00" + }, + { + "category": "SQLI", + "pattern": "!@rx ^ey[-0-9A-Z_a-z]+.ey[-0-9A-Z_a-z]+.[-0-9A-Z_a-z]+$" + }, + { + "category": "SQLI", + "pattern": "@rx (?i:b0x[a-fd]{3,})" + }, + { + "category": "SQLI", + "pattern": "@rx (?:`(?:(?:[ws=_-+{}()<@]){2,29}|(?:[A-Za-z0-9+/]{4})+(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?)`)" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)[\"'`][sv]*?(?:(?:is[sv]+not|not[sv]+(?:like|glob|(?:betwee|i)n|null|regexp|match)|mod|div|sounds[sv]+like)b|[%-&*-+-/<->^|])" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)^(?:[^']*?(?:'[^']*?'[^']*?)*?'|[^\"]*?(?:\"[^\"]*?\"[^\"]*?)*?\"|[^`]*?(?:`[^`]*?`[^`]*?)*?`)[sv]*([0-9A-Z_a-z]+)b" + }, + { + "category": "SQLI", + "pattern": "@rx ^(?:and|or)$" + }, + { + "category": "SQLI", + "pattern": "@rx ^.*?x5c['\"`](?:.*?['\"`])?s*(?:and|or)b" + }, + { + "category": "SQLI", + "pattern": "@detectSQLi" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)b(?:a(?:dd(?:dat|tim)e|es_(?:de|en)crypt|s(?:cii(?:str)?|in)|tan2?)|b(?:enchmark|i(?:n_to_num|t_(?:and|count|length|x?or)))|c(?:har(?:acter)?_length|iel(?:ing)?|o(?:alesce|ercibility|llation|(?:mpres)?s|n(?:cat(?:_ws)?|nection_id|v(?:ert(?:_tz)?)?)|t)|r32|ur(?:(?:dat|tim)e|rent_(?:date|setting|time(?:stamp)?|user)))|d(?:a(?:t(?:abase(?:_to_xml)?|e(?:_(?:add|format|sub)|diff))|y(?:name|of(?:month|week|year)))|count|e(?:code|grees|s_(?:de|en)crypt)|ump)|e(?:lt|n(?:c(?:ode|rypt)|ds_?with)|x(?:p(?:ort_set)?|tract(?:value)?))|f(?:i(?:el|n)d_in_set|ound_rows|rom_(?:base64|days|unixtime))|g(?:e(?:ometrycollection|t(?:_(?:format|lock)|pgusername))|(?:r(?:eates|oup_conca)|tid_subse)t)|hex(?:toraw)?|i(?:fnull|n(?:et6?_(?:aton|ntoa)|s(?:ert|tr)|terval)|s(?:_(?:(?:free|used)_lock|ipv(?:4(?:_(?:compat|mapped))?|6)|n(?:ot(?:_null)?|ull)|superuser)|null))|json(?:_(?:a(?:gg|rray(?:_(?:elements(?:_text)?|length))?)|build_(?:array|object)|e(?:ac|xtract_pat)h(?:_text)?|object(?:_(?:agg|keys))?|populate_record(?:set)?|strip_nulls|t(?:o_record(?:set)?|ypeof))|b(?:_(?:array(?:_(?:elements(?:_text)?|length))?|build_(?:array|object)|object(?:_(?:agg|keys))?|e(?:ac|xtract_pat)h(?:_text)?|insert|p(?:ath_(?:(?:exists|match)(?:_tz)?|query(?:_(?:(?:array|first)(?:_tz)?|tz))?)|opulate_record(?:set)?|retty)|s(?:et(?:_lax)?|trip_nulls)|t(?:o_record(?:set)?|ypeof)))?|path)?|l(?:ast_(?:day|inser_id)|case|e(?:as|f)t|i(?:kel(?:ihood|y)|nestring)|o(?:_(?:from_bytea|put)|ad_file|ca(?:ltimestamp|te)|g(?:10|2)|wer)|pad|trim)|m(?:a(?:ke(?:_set|date)|ster_pos_wait)|d5|i(?:crosecon)?d|onthname|ulti(?:linestring|po(?:int|lygon)))|n(?:ame_const|ot_in|ullif)|o(?:ct(?:et_length)?|(?:ld_passwo)?rd)|p(?:eriod_(?:add|diff)|g_(?:client_encoding|(?:databas|read_fil)e|l(?:argeobject|s_dir)|sleep|user)|o(?:(?:lyg|siti)on|w)|rocedure_analyse)|qu(?:arter|ery_to_xml|ote)|r(?:a(?:dians|nd|wtohex)|elease_lock|ow_(?:count|to_json)|pad|trim)|s(?:chema|e(?:c_to_time|ssion_user)|ha[1-2]?|in|oundex|pace|q(?:lite_(?:compileoption_(?:get|used)|source_id)|rt)|t(?:arts_?with|d(?:dev_(?:po|sam)p)?|r(?:_to_date|cmp))|ub(?:(?:dat|tim)e|str(?:ing(?:_index)?)?)|ys(?:date|tem_user))|t(?:ime(?:_(?:format|to_sec)|diff|stamp(?:add|diff)?)|o(?:_(?:base64|jsonb?)|n?char|(?:day|second)s)|r(?:im|uncate))|u(?:case|n(?:compress(?:ed_length)?|hex|i(?:str|x_timestamp)|likely)|(?:pdatexm|se_json_nul)l|tc_(?:date|time(?:stamp)?)|uid(?:_short)?)|var(?:_(?:po|sam)p|iance)|we(?:ek(?:day|ofyear)|ight_string)|xmltype|yearweek)[^0-9A-Z_a-z]*(" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)create[sv]+(?:function|procedure)[sv]*?[0-9A-Z_a-z]+[sv]*?([sv]*?)[sv]*?-|d(?:eclare[^0-9A-Z_a-z]+[#@][sv]*?[0-9A-Z_a-z]+|iv[sv]*?([+-]*[sv.0-9]+,[+-]*[sv.0-9]+))|exec[sv]*?([sv]*?@|(?:lo_(?:impor|ge)t|procedure[sv]+analyse)[sv]*?(|;[sv]*?(?:declare|open)[sv]+[-0-9A-Z_a-z]+|::(?:b(?:igint|ool)|double[sv]+precision|int(?:eger)?|numeric|oid|real|(?:tex|smallin)t)" + }, + { + "category": "SQLI", + "pattern": "@lt 3" + }, + { + "category": "SQLI", + "pattern": "@lt 3" + }, + { + "category": "SQLI", + "pattern": "@rx (?i)W+d*?s*?bhavingbs*?[^s-]" + }, + { + "category": "SQLI", + "pattern": "@rx [\"'`][sd]*?[^ws]W*?dW*?.*?[\"'`d]" + }, + { + "category": "SQLI", + "pattern": "@rx ((?:[~!@#$%^&*()-+={}[]|:;\"'\u00b4\u2019\u2018`<>][^~!@#$%^&*()-+={}[]|:;\"'\u00b4\u2019\u2018`<>]*?){8})" + }, + { + "category": "SQLI", + "pattern": "@rx ((?:[~!@#$%^&*()-+={}[]|:;\"'\u00b4\u2019\u2018`<>][^~!@#$%^&*()-+={}[]|:;\"'\u00b4\u2019\u2018`<>]*?){6})" + }, + { + "category": "SQLI", + "pattern": "@rx W{4}" + }, + { + "category": "SQLI", + "pattern": "@rx (?:'(?:(?:[ws=_-+{}()<@]){2,29}|(?:[A-Za-z0-9+/]{4})+(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?)')" + }, + { + "category": "SQLI", + "pattern": "@rx ';" + }, + { + "category": "SQLI", + "pattern": "@lt 4" + }, + { + "category": "SQLI", + "pattern": "@lt 4" + }, + { + "category": "SQLI", + "pattern": "@rx ((?:[~!@#$%^&*()-+={}[]|:;\"'\u00b4\u2019\u2018`<>][^~!@#$%^&*()-+={}[]|:;\"'\u00b4\u2019\u2018`<>]*?){3})" + }, + { + "category": "SQLI", + "pattern": "@rx ((?:[~!@#$%^&*()-+={}[]|:;\"'\u00b4\u2019\u2018`<>][^~!@#$%^&*()-+={}[]|:;\"'\u00b4\u2019\u2018`<>]*?){2})" + }, + { + "category": "LEAKAGES", + "pattern": "@lt 1" + }, + { + "category": "LEAKAGES", + "pattern": "@lt 1" + }, + { + "category": "LEAKAGES", + "pattern": "@rx (?:<(?:TITLE>Index of.*?Index of.*?Index of|>[To Parent Directory]
)" + }, + { + "category": "LEAKAGES", + "pattern": "@rx ^#!s?/" + }, + { + "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": "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)]*>[sS]*?" + }, + { + "category": "XSS", + "pattern": "@rx (?i).(?:b(?:x(?:link:href|html|mlns)|data:text/html|formaction|patternb.*?=)|!ENTITY[sv]+(?:%[sv]+)?[^sv]+[sv]+(?:SYSTEM|PUBLIC)|@import|;base64)b" + }, + { + "category": "XSS", + "pattern": "@rx (?i)[a-z]+=(?:[^:=]+:.+;)*?[^:=]+:url(javascript" + }, + { + "category": "XSS", + "pattern": "@rx (?i)<[^0-9<>A-Z_a-z]*(?:[^sv\"'<>]*:)?[^0-9<>A-Z_a-z]*[^0-9A-Z_a-z]*?(?:s[^0-9A-Z_a-z]*?(?:c[^0-9A-Z_a-z]*?r[^0-9A-Z_a-z]*?i[^0-9A-Z_a-z]*?p[^0-9A-Z_a-z]*?t|t[^0-9A-Z_a-z]*?y[^0-9A-Z_a-z]*?l[^0-9A-Z_a-z]*?e|v[^0-9A-Z_a-z]*?g|e[^0-9A-Z_a-z]*?t[^0-9>A-Z_a-z])|f[^0-9A-Z_a-z]*?o[^0-9A-Z_a-z]*?r[^0-9A-Z_a-z]*?m|m[^0-9A-Z_a-z]*?(?:a[^0-9A-Z_a-z]*?r[^0-9A-Z_a-z]*?q[^0-9A-Z_a-z]*?u[^0-9A-Z_a-z]*?e[^0-9A-Z_a-z]*?e|e[^0-9A-Z_a-z]*?t[^0-9A-Z_a-z]*?a[^0-9>A-Z_a-z])|(?:l[^0-9A-Z_a-z]*?i[^0-9A-Z_a-z]*?n[^0-9A-Z_a-z]*?k|o[^0-9A-Z_a-z]*?b[^0-9A-Z_a-z]*?j[^0-9A-Z_a-z]*?e[^0-9A-Z_a-z]*?c[^0-9A-Z_a-z]*?t|e[^0-9A-Z_a-z]*?m[^0-9A-Z_a-z]*?b[^0-9A-Z_a-z]*?e[^0-9A-Z_a-z]*?d|a[^0-9A-Z_a-z]*?(?:p[^0-9A-Z_a-z]*?p[^0-9A-Z_a-z]*?l[^0-9A-Z_a-z]*?e[^0-9A-Z_a-z]*?t|u[^0-9A-Z_a-z]*?d[^0-9A-Z_a-z]*?i[^0-9A-Z_a-z]*?o|n[^0-9A-Z_a-z]*?i[^0-9A-Z_a-z]*?m[^0-9A-Z_a-z]*?a[^0-9A-Z_a-z]*?t[^0-9A-Z_a-z]*?e)|p[^0-9A-Z_a-z]*?a[^0-9A-Z_a-z]*?r[^0-9A-Z_a-z]*?a[^0-9A-Z_a-z]*?m|i?[^0-9A-Z_a-z]*?f[^0-9A-Z_a-z]*?r[^0-9A-Z_a-z]*?a[^0-9A-Z_a-z]*?m[^0-9A-Z_a-z]*?e|b[^0-9A-Z_a-z]*?(?:a[^0-9A-Z_a-z]*?s[^0-9A-Z_a-z]*?e|o[^0-9A-Z_a-z]*?d[^0-9A-Z_a-z]*?y|i[^0-9A-Z_a-z]*?n[^0-9A-Z_a-z]*?d[^0-9A-Z_a-z]*?i[^0-9A-Z_a-z]*?n[^0-9A-Z_a-z]*?g[^0-9A-Z_a-z]*?s)|i[^0-9A-Z_a-z]*?m[^0-9A-Z_a-z]*?a?[^0-9A-Z_a-z]*?g[^0-9A-Z_a-z]*?e?|v[^0-9A-Z_a-z]*?i[^0-9A-Z_a-z]*?d[^0-9A-Z_a-z]*?e[^0-9A-Z_a-z]*?o)[^0-9>A-Z_a-z])|(?:<[0-9A-Z_a-z].*[sv/]|[\"'](?:.*[sv/])?)(?:background|formaction|lowsrc|on(?:a(?:bort|ctivate|d(?:apteradded|dtrack)|fter(?:print|(?:scriptexecu|upda)te)|lerting|n(?:imation(?:cancel|end|iteration|start)|tennastatechange)|ppcommand|u(?:dio(?:end|process|start)|xclick))|b(?:e(?:fore(?:(?:(?:(?:de)?activa|scriptexecu)t|toggl)e|c(?:opy|ut)|editfocus|input|p(?:aste|rint)|u(?:nload|pdate))|gin(?:Event)?)|l(?:ocked|ur)|oun(?:ce|dary)|roadcast|usy)|c(?:a(?:(?:ch|llschang)ed|nplay(?:through)?|rdstatechange)|(?:ell|fstate)change|h(?:a(?:rging(?:time)?cha)?nge|ecking)|l(?:ick|ose)|o(?:m(?:mand(?:update)?|p(?:lete|osition(?:end|start|update)))|n(?:nect(?:ed|ing)|t(?:extmenu|rolselect))|py)|u(?:echange|t))|d(?:ata(?:(?:availabl|chang)e|error|setc(?:hanged|omplete))|blclick|e(?:activate|livery(?:error|success)|vice(?:found|light|(?:mo|orienta)tion|proximity))|i(?:aling|s(?:abled|c(?:hargingtimechange|onnect(?:ed|ing))))|o(?:m(?:a(?:ctivate|ttrmodified)|(?:characterdata|subtree)modified|focus(?:in|out)|mousescroll|node(?:inserted(?:intodocument)?|removed(?:fromdocument)?))|wnloading)|r(?:ag(?:drop|e(?:n(?:d|ter)|xit)|(?:gestur|leav)e|over|start)|op)|urationchange)|e(?:mptied|n(?:abled|d(?:ed|Event)?|ter)|rror(?:update)?|xit)|f(?:ailed|i(?:lterchange|nish)|o(?:cus(?:in|out)?|rm(?:change|input))|ullscreenchange)|g(?:amepad(?:axismove|button(?:down|up)|(?:dis)?connected)|et)|h(?:ashchange|e(?:adphoneschange|l[dp])|olding)|i(?:cc(?:cardlockerror|infochange)|n(?:coming|put|valid))|key(?:down|press|up)|l(?:evelchange|o(?:ad(?:e(?:d(?:meta)?data|nd)|start)?|secapture)|y)|m(?:ark|essage|o(?:use(?:down|enter|(?:lea|mo)ve|o(?:ut|ver)|up|wheel)|ve(?:end|start)?|z(?:a(?:fterpaint|udioavailable)|(?:beforeresiz|orientationchang|t(?:apgestur|imechang))e|(?:edgeui(?:c(?:ancel|omplet)|start)e|network(?:down|up)loa)d|fullscreen(?:change|error)|m(?:agnifygesture(?:start|update)?|ouse(?:hittest|pixelscroll))|p(?:ointerlock(?:change|error)|resstapgesture)|rotategesture(?:start|update)?|s(?:crolledareachanged|wipegesture(?:end|start|update)?))))|no(?:match|update)|o(?:(?:bsolet|(?:ff|n)lin)e|pen|verflow(?:changed)?)|p(?:a(?:ge(?:hide|show)|int|(?:st|us)e)|lay(?:ing)?|o(?:inter(?:down|enter|(?:(?:lea|mo)v|rawupdat)e|o(?:ut|ver)|up)|p(?:state|up(?:hid(?:den|ing)|show(?:ing|n))))|ro(?:gress|pertychange))|r(?:atechange|e(?:adystatechange|ceived|movetrack|peat(?:Event)?|quest|s(?:et|ize|u(?:lt|m(?:e|ing)))|trieving)|ow(?:e(?:nter|xit)|s(?:delete|inserted)))|s(?:croll(?:end)?|e(?:arch|ek(?:complete|ed|ing)|lect(?:ionchange|start)?|n(?:ding|t)|t)|how|(?:ound|peech)(?:end|start)|t(?:a(?:lled|rt|t(?:echange|uschanged))|k(?:comma|sessione)nd|op)|u(?:bmit|ccess|spend)|vg(?:abort|error|(?:un)?load|resize|scroll|zoom))|t(?:ext|ime(?:out|update)|o(?:ggle|uch(?:cancel|en(?:d|ter)|(?:lea|mo)ve|start))|ransition(?:cancel|end|run|start))|u(?:n(?:derflow|handledrejection|load)|p(?:dateready|gradeneeded)|s(?:erproximity|sdreceived))|v(?:ersion|o(?:ic|lum)e)change|w(?:a(?:it|rn)ing|ebkit(?:animation(?:end|iteration|start)|transitionend)|heel)|zoom)|ping|s(?:rc|tyle))[x08-nf-r ]*?=" + }, + { + "category": "XSS", + "pattern": "@rx (?i)(?:W|^)(?:javascript:(?:[sS]+[=x5c([.<]|[sS]*?(?:bnameb|x5c[ux]d))|data:(?:(?:[a-z]w+/w[w+-]+w)?[;,]|[sS]*?;[sS]*?b(?:base64|charset=)|[sS]*?,[sS]*?<[sS]*?w[sS]*?>))|@W*?iW*?mW*?pW*?oW*?rW*?tW*?(?:/*[sS]*?)?(?:[\"']|W*?uW*?rW*?l[sS]*?()|[^-]*?-W*?mW*?oW*?zW*?-W*?bW*?iW*?nW*?dW*?iW*?nW*?g[^:]*?:W*?uW*?rW*?l[sS]*?(" + }, + { + "category": "XSS", + "pattern": "@pm document.cookie document.domain document.write .parentnode .innerhtml window.location -moz-binding " + }, + { + "category": "XSS", + "pattern": "@rx <(?:a|abbr|acronym|address|applet|area|audioscope|b|base|basefront|bdo|bgsound|big|blackface|blink|blockquote|body|bq|br|button|caption|center|cite|code|col|colgroup|comment|dd|del|dfn|dir|div|dl|dt|em|embed|fieldset|fn|font|form|frame|frameset|h1|head|hr|html|i|iframe|ilayer|img|input|ins|isindex|kdb|keygen|label|layer|legend|li|limittext|link|listing|map|marquee|menu|meta|multicol|nobr|noembed|noframes|noscript|nosmartquotes|object|ol|optgroup|option|p|param|plaintext|pre|q|rt|ruby|s|samp|script|select|server|shadow|sidebar|small|spacer|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|ul|var|wbr|xml|xmp)W" + }, + { + "category": "XSS", + "pattern": "@rx (?i:[\"'][ ]*(?:[^a-z0-9~_:' ]|in).*?(?:(?:l|x5cu006C)(?:o|x5cu006F)(?:c|x5cu0063)(?:a|x5cu0061)(?:t|x5cu0074)(?:i|x5cu0069)(?:o|x5cu006F)(?:n|x5cu006E)|(?:n|x5cu006E)(?:a|x5cu0061)(?:m|x5cu006D)(?:e|x5cu0065)|(?:o|x5cu006F)(?:n|x5cu006E)(?:e|x5cu0065)(?:r|x5cu0072)(?:r|x5cu0072)(?:o|x5cu006F)(?:r|x5cu0072)|(?:v|x5cu0076)(?:a|x5cu0061)(?:l|x5cu006C)(?:u|x5cu0075)(?:e|x5cu0065)(?:O|x5cu004F)(?:f|x5cu0066)).*?=)" + }, + { + "category": "XSS", + "pattern": "@rx (?i)[\"'][ ]*(?:[^a-z0-9~_:' ]|in).+?[.].+?=" + }, + { + "category": "XSS", + "pattern": "@rx {{.*?}}" + }, + { + "category": "XSS", + "pattern": "@lt 3" + }, + { + "category": "XSS", + "pattern": "@lt 3" + }, + { + "category": "XSS", + "pattern": "@lt 4" + }, + { + "category": "XSS", + "pattern": "@lt 4" + }, { "category": "ENFORCEMENT", "pattern": "@lt 1" @@ -695,226 +1959,6 @@ "category": "ENFORCEMENT", "pattern": "@rx (?:^|[^x5c])x5c[cdeghijklmpqwxyz123456789]" }, - { - "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": "EXCEPTIONS", - "pattern": "@streq GET /" - }, - { - "category": "EXCEPTIONS", - "pattern": "@ipMatch 127.0.0.1,::1" - }, - { - "category": "EXCEPTIONS", - "pattern": "@ipMatch 127.0.0.1,::1" - }, - { - "category": "EXCEPTIONS", - "pattern": "@endsWith (internal dummy connection)" - }, - { - "category": "EXCEPTIONS", - "pattern": "@rx ^(?:GET /|OPTIONS *) HTTP/[12].[01]$" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 0" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 0" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 0" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 0" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 0" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 0" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 0" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 0" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 0" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 0" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 0" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 0" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 0" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 0" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 0" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 0" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 0" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 0" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 0" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 0" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 0" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 1" - }, - { - "category": "INITIALIZATION", - "pattern": "@rx ^.*$" - }, - { - "category": "INITIALIZATION", - "pattern": "!@rx (?:URLENCODED|MULTIPART|XML|JSON)" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 1" - }, - { - "category": "INITIALIZATION", - "pattern": "!@rx (?:URLENCODED|MULTIPART|XML|JSON)" - }, - { - "category": "INITIALIZATION", - "pattern": "@eq 100" - }, - { - "category": "INITIALIZATION", - "pattern": "@rx ^[a-f]*([0-9])[a-f]*([0-9])" - }, - { - "category": "INITIALIZATION", - "pattern": "!@lt %{tx.sampling_percentage}" - }, - { - "category": "INITIALIZATION", - "pattern": "@lt %{tx.blocking_paranoia_level}" - }, - { - "category": "RFI", - "pattern": "@lt 1" - }, - { - "category": "RFI", - "pattern": "@lt 1" - }, - { - "category": "RFI", - "pattern": "@rx ^(?i:file|ftps?|https?)://(?:d{1,3}.d{1,3}.d{1,3}.d{1,3})" - }, - { - "category": "RFI", - "pattern": "@rx (?i)(?:bincludes*([^)]*|mosConfig_absolute_path|_CONF[path]|_SERVER[DOCUMENT_ROOT]|GALLERY_BASEDIR|path[docroot]|appserv_root|config[root_dir])=(?:file|ftps?|https?)://" - }, - { - "category": "RFI", - "pattern": "@rx ^(?i:file|ftps?|https?).*??+$" - }, - { - "category": "RFI", - "pattern": "@lt 2" - }, - { - "category": "RFI", - "pattern": "@lt 2" - }, - { - "category": "RFI", - "pattern": "@rx (?i)(?:(?:url|jar):)?(?: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)://(?:[^@]+@)?([^/]*)" - }, - { - "category": "RFI", - "pattern": "!@endsWith .%{request_headers.host}" - }, - { - "category": "RFI", - "pattern": "@rx (?i)(?:(?:url|jar):)?(?: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)://(?:[^@]+@)?([^/]*)" - }, - { - "category": "RFI", - "pattern": "!@endsWith .%{request_headers.host}" - }, - { - "category": "RFI", - "pattern": "@lt 3" - }, - { - "category": "RFI", - "pattern": "@lt 3" - }, - { - "category": "RFI", - "pattern": "@lt 4" - }, - { - "category": "RFI", - "pattern": "@lt 4" - }, { "category": "RCE", "pattern": "@lt 1" @@ -1132,1191 +2176,91 @@ "pattern": "@lt 4" }, { - "category": "LEAKAGES", + "category": "DETECTION", "pattern": "@lt 1" }, { - "category": "LEAKAGES", + "category": "DETECTION", "pattern": "@lt 1" }, { - "category": "LEAKAGES", - "pattern": "@rx (?:<(?:TITLE>Index of.*?Index of.*?Index of|>[To Parent Directory]
)" + "category": "DETECTION", + "pattern": "@pmFromFile scanners-user-agents.data" }, { - "category": "LEAKAGES", - "pattern": "@rx ^#!s?/" - }, - { - "category": "LEAKAGES", + "category": "DETECTION", "pattern": "@lt 2" }, { - "category": "LEAKAGES", + "category": "DETECTION", "pattern": "@lt 2" }, { - "category": "LEAKAGES", - "pattern": "@rx ^5d{2}$" - }, - { - "category": "LEAKAGES", + "category": "DETECTION", "pattern": "@lt 3" }, { - "category": "LEAKAGES", + "category": "DETECTION", "pattern": "@lt 3" }, { - "category": "LEAKAGES", + "category": "DETECTION", "pattern": "@lt 4" }, { - "category": "LEAKAGES", + "category": "DETECTION", "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", + "category": "IIS", "pattern": "@lt 1" }, { - "category": "EVALUATION", + "category": "IIS", "pattern": "@lt 1" }, { - "category": "EVALUATION", + "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": "EVALUATION", + "category": "IIS", "pattern": "@lt 2" }, { - "category": "EVALUATION", + "category": "IIS", "pattern": "@lt 3" }, { - "category": "EVALUATION", + "category": "IIS", "pattern": "@lt 3" }, { - "category": "EVALUATION", + "category": "IIS", "pattern": "@lt 4" }, { - "category": "EVALUATION", - "pattern": "@lt 4" - }, - { - "category": "SQL", - "pattern": "@lt 1" - }, - { - "category": "SQL", - "pattern": "@lt 1" - }, - { - "category": "SQL", - "pattern": "!@pmFromFile sql-errors.data" - }, - { - "category": "SQL", - "pattern": "@rx (?i:JET Database Engine|Access Database Engine|[Microsoft][ODBC Microsoft Access Driver])" - }, - { - "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", - "pattern": "@lt 2" - }, - { - "category": "SQL", - "pattern": "@lt 2" - }, - { - "category": "SQL", - "pattern": "@lt 3" - }, - { - "category": "SQL", - "pattern": "@lt 3" - }, - { - "category": "SQL", - "pattern": "@lt 4" - }, - { - "category": "SQL", - "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)]*>[sS]*?" - }, - { - "category": "XSS", - "pattern": "@rx (?i).(?:b(?:x(?:link:href|html|mlns)|data:text/html|formaction|patternb.*?=)|!ENTITY[sv]+(?:%[sv]+)?[^sv]+[sv]+(?:SYSTEM|PUBLIC)|@import|;base64)b" - }, - { - "category": "XSS", - "pattern": "@rx (?i)[a-z]+=(?:[^:=]+:.+;)*?[^:=]+:url(javascript" - }, - { - "category": "XSS", - "pattern": "@rx (?i)<[^0-9<>A-Z_a-z]*(?:[^sv\"'<>]*:)?[^0-9<>A-Z_a-z]*[^0-9A-Z_a-z]*?(?:s[^0-9A-Z_a-z]*?(?:c[^0-9A-Z_a-z]*?r[^0-9A-Z_a-z]*?i[^0-9A-Z_a-z]*?p[^0-9A-Z_a-z]*?t|t[^0-9A-Z_a-z]*?y[^0-9A-Z_a-z]*?l[^0-9A-Z_a-z]*?e|v[^0-9A-Z_a-z]*?g|e[^0-9A-Z_a-z]*?t[^0-9>A-Z_a-z])|f[^0-9A-Z_a-z]*?o[^0-9A-Z_a-z]*?r[^0-9A-Z_a-z]*?m|m[^0-9A-Z_a-z]*?(?:a[^0-9A-Z_a-z]*?r[^0-9A-Z_a-z]*?q[^0-9A-Z_a-z]*?u[^0-9A-Z_a-z]*?e[^0-9A-Z_a-z]*?e|e[^0-9A-Z_a-z]*?t[^0-9A-Z_a-z]*?a[^0-9>A-Z_a-z])|(?:l[^0-9A-Z_a-z]*?i[^0-9A-Z_a-z]*?n[^0-9A-Z_a-z]*?k|o[^0-9A-Z_a-z]*?b[^0-9A-Z_a-z]*?j[^0-9A-Z_a-z]*?e[^0-9A-Z_a-z]*?c[^0-9A-Z_a-z]*?t|e[^0-9A-Z_a-z]*?m[^0-9A-Z_a-z]*?b[^0-9A-Z_a-z]*?e[^0-9A-Z_a-z]*?d|a[^0-9A-Z_a-z]*?(?:p[^0-9A-Z_a-z]*?p[^0-9A-Z_a-z]*?l[^0-9A-Z_a-z]*?e[^0-9A-Z_a-z]*?t|u[^0-9A-Z_a-z]*?d[^0-9A-Z_a-z]*?i[^0-9A-Z_a-z]*?o|n[^0-9A-Z_a-z]*?i[^0-9A-Z_a-z]*?m[^0-9A-Z_a-z]*?a[^0-9A-Z_a-z]*?t[^0-9A-Z_a-z]*?e)|p[^0-9A-Z_a-z]*?a[^0-9A-Z_a-z]*?r[^0-9A-Z_a-z]*?a[^0-9A-Z_a-z]*?m|i?[^0-9A-Z_a-z]*?f[^0-9A-Z_a-z]*?r[^0-9A-Z_a-z]*?a[^0-9A-Z_a-z]*?m[^0-9A-Z_a-z]*?e|b[^0-9A-Z_a-z]*?(?:a[^0-9A-Z_a-z]*?s[^0-9A-Z_a-z]*?e|o[^0-9A-Z_a-z]*?d[^0-9A-Z_a-z]*?y|i[^0-9A-Z_a-z]*?n[^0-9A-Z_a-z]*?d[^0-9A-Z_a-z]*?i[^0-9A-Z_a-z]*?n[^0-9A-Z_a-z]*?g[^0-9A-Z_a-z]*?s)|i[^0-9A-Z_a-z]*?m[^0-9A-Z_a-z]*?a?[^0-9A-Z_a-z]*?g[^0-9A-Z_a-z]*?e?|v[^0-9A-Z_a-z]*?i[^0-9A-Z_a-z]*?d[^0-9A-Z_a-z]*?e[^0-9A-Z_a-z]*?o)[^0-9>A-Z_a-z])|(?:<[0-9A-Z_a-z].*[sv/]|[\"'](?:.*[sv/])?)(?:background|formaction|lowsrc|on(?:a(?:bort|ctivate|d(?:apteradded|dtrack)|fter(?:print|(?:scriptexecu|upda)te)|lerting|n(?:imation(?:cancel|end|iteration|start)|tennastatechange)|ppcommand|u(?:dio(?:end|process|start)|xclick))|b(?:e(?:fore(?:(?:(?:(?:de)?activa|scriptexecu)t|toggl)e|c(?:opy|ut)|editfocus|input|p(?:aste|rint)|u(?:nload|pdate))|gin(?:Event)?)|l(?:ocked|ur)|oun(?:ce|dary)|roadcast|usy)|c(?:a(?:(?:ch|llschang)ed|nplay(?:through)?|rdstatechange)|(?:ell|fstate)change|h(?:a(?:rging(?:time)?cha)?nge|ecking)|l(?:ick|ose)|o(?:m(?:mand(?:update)?|p(?:lete|osition(?:end|start|update)))|n(?:nect(?:ed|ing)|t(?:extmenu|rolselect))|py)|u(?:echange|t))|d(?:ata(?:(?:availabl|chang)e|error|setc(?:hanged|omplete))|blclick|e(?:activate|livery(?:error|success)|vice(?:found|light|(?:mo|orienta)tion|proximity))|i(?:aling|s(?:abled|c(?:hargingtimechange|onnect(?:ed|ing))))|o(?:m(?:a(?:ctivate|ttrmodified)|(?:characterdata|subtree)modified|focus(?:in|out)|mousescroll|node(?:inserted(?:intodocument)?|removed(?:fromdocument)?))|wnloading)|r(?:ag(?:drop|e(?:n(?:d|ter)|xit)|(?:gestur|leav)e|over|start)|op)|urationchange)|e(?:mptied|n(?:abled|d(?:ed|Event)?|ter)|rror(?:update)?|xit)|f(?:ailed|i(?:lterchange|nish)|o(?:cus(?:in|out)?|rm(?:change|input))|ullscreenchange)|g(?:amepad(?:axismove|button(?:down|up)|(?:dis)?connected)|et)|h(?:ashchange|e(?:adphoneschange|l[dp])|olding)|i(?:cc(?:cardlockerror|infochange)|n(?:coming|put|valid))|key(?:down|press|up)|l(?:evelchange|o(?:ad(?:e(?:d(?:meta)?data|nd)|start)?|secapture)|y)|m(?:ark|essage|o(?:use(?:down|enter|(?:lea|mo)ve|o(?:ut|ver)|up|wheel)|ve(?:end|start)?|z(?:a(?:fterpaint|udioavailable)|(?:beforeresiz|orientationchang|t(?:apgestur|imechang))e|(?:edgeui(?:c(?:ancel|omplet)|start)e|network(?:down|up)loa)d|fullscreen(?:change|error)|m(?:agnifygesture(?:start|update)?|ouse(?:hittest|pixelscroll))|p(?:ointerlock(?:change|error)|resstapgesture)|rotategesture(?:start|update)?|s(?:crolledareachanged|wipegesture(?:end|start|update)?))))|no(?:match|update)|o(?:(?:bsolet|(?:ff|n)lin)e|pen|verflow(?:changed)?)|p(?:a(?:ge(?:hide|show)|int|(?:st|us)e)|lay(?:ing)?|o(?:inter(?:down|enter|(?:(?:lea|mo)v|rawupdat)e|o(?:ut|ver)|up)|p(?:state|up(?:hid(?:den|ing)|show(?:ing|n))))|ro(?:gress|pertychange))|r(?:atechange|e(?:adystatechange|ceived|movetrack|peat(?:Event)?|quest|s(?:et|ize|u(?:lt|m(?:e|ing)))|trieving)|ow(?:e(?:nter|xit)|s(?:delete|inserted)))|s(?:croll(?:end)?|e(?:arch|ek(?:complete|ed|ing)|lect(?:ionchange|start)?|n(?:ding|t)|t)|how|(?:ound|peech)(?:end|start)|t(?:a(?:lled|rt|t(?:echange|uschanged))|k(?:comma|sessione)nd|op)|u(?:bmit|ccess|spend)|vg(?:abort|error|(?:un)?load|resize|scroll|zoom))|t(?:ext|ime(?:out|update)|o(?:ggle|uch(?:cancel|en(?:d|ter)|(?:lea|mo)ve|start))|ransition(?:cancel|end|run|start))|u(?:n(?:derflow|handledrejection|load)|p(?:dateready|gradeneeded)|s(?:erproximity|sdreceived))|v(?:ersion|o(?:ic|lum)e)change|w(?:a(?:it|rn)ing|ebkit(?:animation(?:end|iteration|start)|transitionend)|heel)|zoom)|ping|s(?:rc|tyle))[x08-nf-r ]*?=" - }, - { - "category": "XSS", - "pattern": "@rx (?i)(?:W|^)(?:javascript:(?:[sS]+[=x5c([.<]|[sS]*?(?:bnameb|x5c[ux]d))|data:(?:(?:[a-z]w+/w[w+-]+w)?[;,]|[sS]*?;[sS]*?b(?:base64|charset=)|[sS]*?,[sS]*?<[sS]*?w[sS]*?>))|@W*?iW*?mW*?pW*?oW*?rW*?tW*?(?:/*[sS]*?)?(?:[\"']|W*?uW*?rW*?l[sS]*?()|[^-]*?-W*?mW*?oW*?zW*?-W*?bW*?iW*?nW*?dW*?iW*?nW*?g[^:]*?:W*?uW*?rW*?l[sS]*?(" - }, - { - "category": "XSS", - "pattern": "@pm document.cookie document.domain document.write .parentnode .innerhtml window.location -moz-binding " - }, - { - "category": "XSS", - "pattern": "@rx <(?:a|abbr|acronym|address|applet|area|audioscope|b|base|basefront|bdo|bgsound|big|blackface|blink|blockquote|body|bq|br|button|caption|center|cite|code|col|colgroup|comment|dd|del|dfn|dir|div|dl|dt|em|embed|fieldset|fn|font|form|frame|frameset|h1|head|hr|html|i|iframe|ilayer|img|input|ins|isindex|kdb|keygen|label|layer|legend|li|limittext|link|listing|map|marquee|menu|meta|multicol|nobr|noembed|noframes|noscript|nosmartquotes|object|ol|optgroup|option|p|param|plaintext|pre|q|rt|ruby|s|samp|script|select|server|shadow|sidebar|small|spacer|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|ul|var|wbr|xml|xmp)W" - }, - { - "category": "XSS", - "pattern": "@rx (?i:[\"'][ ]*(?:[^a-z0-9~_:' ]|in).*?(?:(?:l|x5cu006C)(?:o|x5cu006F)(?:c|x5cu0063)(?:a|x5cu0061)(?:t|x5cu0074)(?:i|x5cu0069)(?:o|x5cu006F)(?:n|x5cu006E)|(?:n|x5cu006E)(?:a|x5cu0061)(?:m|x5cu006D)(?:e|x5cu0065)|(?:o|x5cu006F)(?:n|x5cu006E)(?:e|x5cu0065)(?:r|x5cu0072)(?:r|x5cu0072)(?:o|x5cu006F)(?:r|x5cu0072)|(?:v|x5cu0076)(?:a|x5cu0061)(?:l|x5cu006C)(?:u|x5cu0075)(?:e|x5cu0065)(?:O|x5cu004F)(?:f|x5cu0066)).*?=)" - }, - { - "category": "XSS", - "pattern": "@rx (?i)[\"'][ ]*(?:[^a-z0-9~_:' ]|in).+?[.].+?=" - }, - { - "category": "XSS", - "pattern": "@rx {{.*?}}" - }, - { - "category": "XSS", - "pattern": "@lt 3" - }, - { - "category": "XSS", - "pattern": "@lt 3" - }, - { - "category": "XSS", - "pattern": "@lt 4" - }, - { - "category": "XSS", - "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": "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 (?:" - }, - { - "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": "SQLI", - "pattern": "@lt 1" - }, - { - "category": "SQLI", - "pattern": "@lt 1" - }, - { - "category": "SQLI", - "pattern": "@detectSQLi" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)b(?:d(?:atabas|b_nam)e[^0-9A-Z_a-z]*(|(?:information_schema|m(?:aster..sysdatabases|s(?:db|ys(?:ac(?:cess(?:objects|storage|xml)|es)|modules2?|(?:object|querie|relationship)s))|ysql.db)|northwind|pg_(?:catalog|toast)|tempdb)b|s(?:chema(?:_nameb|[^0-9A-Z_a-z]*()|(?:qlite_(?:temp_)?master|ys(?:aux|.database_name))b))" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)b(?:a(?:dd(?:dat|tim)e|es_(?:de|en)crypt|s(?:cii(?:str)?|in)|tan2?)|b(?:enchmark|i(?:n_to_num|t_(?:and|count|length|x?or)))|c(?:har(?:acter)?_length|iel(?:ing)?|o(?:alesce|ercibility|llation|(?:mpres)?s|n(?:cat(?:_ws)?|nection_id|v(?:ert(?:_tz)?)?)|t)|r32|ur(?:(?:dat|tim)e|rent_(?:date|setting|time(?:stamp)?|user)))|d(?:a(?:t(?:abase(?:_to_xml)?|e(?:_(?:add|format|sub)|diff))|y(?:name|of(?:month|week|year)))|count|e(?:code|grees|s_(?:de|en)crypt)|ump)|e(?:lt|n(?:c(?:ode|rypt)|ds_?with)|x(?:p(?:ort_set)?|tract(?:value)?))|f(?:i(?:el|n)d_in_set|ound_rows|rom_(?:base64|days|unixtime))|g(?:e(?:ometrycollection|t(?:_(?:format|lock)|pgusername))|(?:r(?:eates|oup_conca)|tid_subse)t)|hex(?:toraw)?|i(?:fnull|n(?:et6?_(?:aton|ntoa)|s(?:ert|tr)|terval)|s(?:_(?:(?:free|used)_lock|ipv(?:4(?:_(?:compat|mapped))?|6)|n(?:ot(?:_null)?|ull)|superuser)|null))|json(?:_(?:a(?:gg|rray(?:_(?:elements(?:_text)?|length))?)|build_(?:array|object)|e(?:ac|xtract_pat)h(?:_text)?|object(?:_(?:agg|keys))?|populate_record(?:set)?|strip_nulls|t(?:o_record(?:set)?|ypeof))|b(?:_(?:array(?:_(?:elements(?:_text)?|length))?|build_(?:array|object)|object(?:_(?:agg|keys))?|e(?:ac|xtract_pat)h(?:_text)?|insert|p(?:ath_(?:(?:exists|match)(?:_tz)?|query(?:_(?:(?:array|first)(?:_tz)?|tz))?)|opulate_record(?:set)?|retty)|s(?:et(?:_lax)?|trip_nulls)|t(?:o_record(?:set)?|ypeof)))?|path)?|l(?:ast_(?:day|inser_id)|case|e(?:as|f)t|i(?:kel(?:ihood|y)|nestring)|o(?:_(?:from_bytea|put)|ad_file|ca(?:ltimestamp|te)|g(?:10|2)|wer)|pad|trim)|m(?:a(?:ke(?:_set|date)|ster_pos_wait)|d5|i(?:crosecon)?d|onthname|ulti(?:linestring|po(?:int|lygon)))|n(?:ame_const|ot_in|ullif)|o(?:ct(?:et_length)?|(?:ld_passwo)?rd)|p(?:eriod_(?:add|diff)|g_(?:client_encoding|(?:databas|read_fil)e|l(?:argeobject|s_dir)|sleep|user)|o(?:(?:lyg|siti)on|w)|rocedure_analyse)|qu(?:arter|ery_to_xml|ote)|r(?:a(?:dians|nd|wtohex)|elease_lock|ow_(?:count|to_json)|pad|trim)|s(?:chema|e(?:c_to_time|ssion_user)|ha[1-2]?|in|oundex|pace|q(?:lite_(?:compileoption_(?:get|used)|source_id)|rt)|t(?:arts_?with|d(?:dev_(?:po|sam)p)?|r(?:_to_date|cmp))|ub(?:(?:dat|tim)e|str(?:ing(?:_index)?)?)|ys(?:date|tem_user))|t(?:ime(?:_(?:format|to_sec)|diff|stamp(?:add|diff)?)|o(?:_(?:base64|jsonb?)|n?char|(?:day|second)s)|r(?:im|uncate))|u(?:case|n(?:compress(?:ed_length)?|hex|i(?:str|x_timestamp)|likely)|(?:pdatexm|se_json_nul)l|tc_(?:date|time(?:stamp)?)|uid(?:_short)?)|var(?:_(?:po|sam)p|iance)|we(?:ek(?:day|ofyear)|ight_string)|xmltype|yearweek)[^0-9A-Z_a-z]*(" - }, - { - "category": "SQLI", - "pattern": "@rx (?i:sleep(s*?d*?s*?)|benchmark(.*?,.*?))" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)(?:select|;)[sv]+(?:benchmark|if|sleep)[sv]*?([sv]*?(?[sv]*?[0-9A-Z_a-z]+" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)[\"'`](?:[sv]*![sv]*[\"'0-9A-Z_-z]|;?[sv]*(?:having|select|unionb[sv]*(?:all|(?:distin|sele)ct))b[sv]*[^sv])|b(?:(?:(?:c(?:onnection_id|urrent_user)|database|schema|user)[sv]*?|select.*?[0-9A-Z_a-z]?user)(|exec(?:ute)?[sv]+master.|from[^0-9A-Z_a-z]+information_schema[^0-9A-Z_a-z]|into[sv+]+(?:dump|out)file[sv]*?[\"'`]|union(?:[sv]select[sv]@|[sv(0-9A-Z_a-z]*?select))|[sv]*?exec(?:ute)?.*?[^0-9A-Z_a-z]xp_cmdshell|[^0-9A-Z_a-z]iif[sv]*?(" - }, - { - "category": "SQLI", - "pattern": "@rx ^(?i:-0000023456|4294967295|4294967296|2147483648|2147483647|0000012345|-2147483648|-2147483649|0000023456|2.2250738585072007e-308|2.2250738585072011e-308|1e309)$" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)[sv(-)]case[sv]+when.*?then|)[sv]*?like[sv]*?(|select.*?having[sv]*?[^sv]+[sv]*?[^sv0-9A-Z_a-z]|if[sv]?([0-9A-Z_a-z]+[sv]*?[<->~]" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)alter[sv]*?[0-9A-Z_a-z]+.*?char(?:acter)?[sv]+set[sv]+[0-9A-Z_a-z]+|[\"'`](?:;*?[sv]*?waitfor[sv]+(?:time|delay)[sv]+[\"'`]|;.*?:[sv]*?goto)" - }, - { - "category": "SQLI", - "pattern": "@rx (?i:merge.*?usings*?(|executes*?immediates*?[\"'`]|matchs*?[w(),+-]+s*?againsts*?()" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)union.*?select.*?from" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)select[sv]*?pg_sleep|waitfor[sv]*?delay[sv]?[\"'`]+[sv]?[0-9]|;[sv]*?shutdown[sv]*?(?:[#;{]|/*|--)" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)[?$(?:n(?:e|in?|o[rt])|e(?:q|xists|lemMatch)|l(?:te?|ike)|mod|a(?:ll|nd)|(?:s(?:iz|lic)|wher)e|t(?:ype|ext)|x?or|div|between|regex|jsonSchema)]?" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)create[sv]+(?:function|procedure)[sv]*?[0-9A-Z_a-z]+[sv]*?([sv]*?)[sv]*?-|d(?:eclare[^0-9A-Z_a-z]+[#@][sv]*?[0-9A-Z_a-z]+|iv[sv]*?([+-]*[sv.0-9]+,[+-]*[sv.0-9]+))|exec[sv]*?([sv]*?@|(?:lo_(?:impor|ge)t|procedure[sv]+analyse)[sv]*?(|;[sv]*?(?:declare|open)[sv]+[-0-9A-Z_a-z]+|::(?:b(?:igint|ool)|double[sv]+precision|int(?:eger)?|numeric|oid|real|(?:tex|smallin)t)" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)create[sv]+function[sv].+[sv]returns|;[sv]*?(?:alter|(?:(?:cre|trunc|upd)at|renam)e|d(?:e(?:lete|sc)|rop)|(?:inser|selec)t|load)b[sv]*?[([]?[0-9A-Z_a-z]{2,}" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)b(?:(?:alter|(?:(?:cre|trunc|upd)at|renam)e|de(?:lete|sc)|(?:inser|selec)t|load)[sv]+(?:char|group_concat|load_file)b[sv]*(?|end[sv]*?);)|[sv(]load_file[sv]*?(|[\"'`][sv]+regexp[^0-9A-Z_a-z]|[\"'0-9A-Z_-z][sv]+asb[sv]*[\"'0-9A-Z_-z]+[sv]*bfrom|^[^A-Z_a-z]+[sv]*?(?:(?:(?:(?:cre|trunc)at|renam)e|d(?:e(?:lete|sc)|rop)|(?:inser|selec)t|load)[sv]+[0-9A-Z_a-z]+|u(?:pdate[sv]+[0-9A-Z_a-z]+|nion[sv]*(?:all|(?:sele|distin)ct)b)|alter[sv]*(?:a(?:(?:ggregat|pplication[sv]*rol)e|s(?:sembl|ymmetric[sv]*ke)y|u(?:dit|thorization)|vailability[sv]*group)|b(?:roker[sv]*priority|ufferpool)|c(?:ertificate|luster|o(?:l(?:latio|um)|nversio)n|r(?:edential|yptographic[sv]*provider))|d(?:atabase|efault|i(?:mension|skgroup)|omain)|e(?:(?:ndpoi|ve)nt|xte(?:nsion|rnal))|f(?:lashback|oreign|u(?:lltext|nction))|hi(?:erarchy|stogram)|group|in(?:dex(?:type)?|memory|stance)|java|l(?:a(?:ngua|r)ge|ibrary|o(?:ckdown|g(?:file[sv]*group|in)))|m(?:a(?:s(?:k|ter[sv]*key)|terialized)|e(?:ssage[sv]*type|thod)|odule)|(?:nicknam|queu)e|o(?:perator|utline)|p(?:a(?:ckage|rtition)|ermission|ro(?:cedur|fil)e)|r(?:e(?:mot|sourc)e|o(?:l(?:e|lback)|ute))|s(?:chema|e(?:arch|curity|rv(?:er|ice)|quence|ssion)|y(?:mmetric[sv]*key|nonym)|togroup)|t(?:able(?:space)?|ext|hreshold|r(?:igger|usted)|ype)|us(?:age|er)|view|w(?:ork(?:load)?|rapper)|x(?:ml[sv]*schema|srobject))b)" - }, - { - "category": "SQLI", - "pattern": "@rx (?i:/*[!+](?:[ws=_-()]+)?*/)" - }, - { - "category": "SQLI", - "pattern": "@rx ^(?:[^']*'|[^\"]*\"|[^`]*`)[sv]*;" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)1.e[(-),]" - }, - { - "category": "SQLI", - "pattern": "@rx [\"'`][[{].*[]}][\"'`].*(::.*jsonb?)?.*(?:(?:@|->?)>|<@|?[&|]?|#>>?|[<>]|<-)|(?:(?:@|->?)>|<@|?[&|]?|#>>?|[<>]|<-)[\"'`][[{].*[]}][\"'`]|json_extract.*(.*)" - }, - { - "category": "SQLI", - "pattern": "@lt 2" - }, - { - "category": "SQLI", - "pattern": "@lt 2" - }, - { - "category": "SQLI", - "pattern": "@rx (?:^s*[\"'`;]+|[\"'`]+s*$)" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)!=|&&||||>[=->]|<(?:<|=>?|>(?:[sv]+binary)?)|b(?:(?:xor|r(?:egexp|like)|i(?:snull|like)|notnull)b|collate(?:[^0-9A-Z_a-z]*?(?:U&)?[\"'`]|[^0-9A-Z_a-z]+(?:(?:binary|nocase|rtrim)b|[0-9A-Z_a-z]*?_))|(?:likel(?:ihood|y)|unlikely)[sv]*()|r(?:egexp|like)[sv]+binary|not[sv]+between[sv]+(?:0[sv]+and|(?:'[^']*'|\"[^\"]*\")[sv]+and[sv]+(?:'[^']*'|\"[^\"]*\"))|is[sv]+null|like[sv]+(?:null|[0-9A-Z_a-z]+[sv]+escapeb)|(?:^|[^0-9A-Z_a-z])in[sv+]*([sv\"0-9]+[^(-)]*)|[!<->]{1,2}[sv]*allb" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)[sv\"'-)`]*?b([0-9A-Z_a-z]+)b[sv\"'-)`]*?(?:=|<=>|(?:sounds[sv]+)?like|glob|r(?:like|egexp))[sv\"'-)`]*?b([0-9A-Z_a-z]+)b" - }, - { - "category": "SQLI", - "pattern": "@streq %{TX.2}" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)[sv\"'-)`]*?b([0-9A-Z_a-z]+)b[sv\"'-)`]*?(?:![<->]|<[=->]?|>=?|^|is[sv]+not|not[sv]+(?:like|r(?:like|egexp)))[sv\"'-)`]*?b([0-9A-Z_a-z]+)b" - }, - { - "category": "SQLI", - "pattern": "!@streq %{TX.2}" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)b(?:json(?:_[0-9A-Z_a-z]+)?|a(?:bs|(?:cos|sin)h?|tan[2h]?|vg)|c(?:eil(?:ing)?|h(?:a(?:nges|r(?:set)?)|r)|o(?:alesce|sh?|unt)|ast)|d(?:e(?:grees|fault)|a(?:te|y))|exp|f(?:loor(?:avg)?|ormat|ield)|g(?:lob|roup_concat)|h(?:ex|our)|i(?:f(?:null)?|if|n(?:str)?)|l(?:ast(?:_insert_rowid)?|ength|ike(?:l(?:ihood|y))?|n|o(?:ad_extension|g(?:10|2)?|wer(?:pi)?|cal)|trim)|m(?:ax|in(?:ute)?|o(?:d|nth))|n(?:ullif|ow)|p(?:i|ow(?:er)?|rintf|assword)|quote|r(?:a(?:dians|ndom(?:blob)?)|e(?:p(?:lace|eat)|verse)|ound|trim|ight)|s(?:i(?:gn|nh?)|oundex|q(?:lite_(?:compileoption_(?:get|used)|offset|source_id|version)|rt)|u(?:bstr(?:ing)?|m)|econd|leep)|t(?:anh?|otal(?:_changes)?|r(?:im|unc)|ypeof|ime)|u(?:n(?:icode|likely)|(?:pp|s)er)|zeroblob|bin|v(?:alues|ersion)|week|year)[^0-9A-Z_a-z]*(" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)(?:/*)+[\"'`]+[sv]?(?:--|[#{]|/*)?|[\"'`](?:[sv]*(?:(?:x?or|and|div|like|between)[sv-0-9A-Z_a-z]+[(-)+--<->][sv]*[\"'0-9`]|[!=|](?:[sv -!+-0-9=]+.*?[\"'-(`].*?|[sv -!0-9=]+.*?[0-9]+)$|(?:like|print)[^0-9A-Z_a-z]+[\"'-(0-9A-Z_-z]|;)|(?:[<>~]+|[sv]*[^sv0-9A-Z_a-z]?=[sv]*|[^0-9A-Z_a-z]*?[+=]+[^0-9A-Z_a-z]*?)[\"'`])|[0-9][\"'`][sv]+[\"'`][sv]+[0-9]|^admin[sv]*?[\"'`]|[sv\"'-(`][sv]*?glob[^0-9A-Z_a-z]+[\"'-(0-9A-Z_-z]|[sv]is[sv]*?0[^0-9A-Z_a-z]|where[sv][sv,-.0-9A-Z_a-z]+[sv]=" - }, - { - "category": "SQLI", - "pattern": "@rx (?i),.*?[\"')0-9`-f][\"'`](?:[\"'`].*?[\"'`]|(?:r?n)?z|[^\"'`]+)|[^0-9A-Z_a-z]select.+[^0-9A-Z_a-z]*?from|(?:alter|(?:(?:cre|trunc|upd)at|renam)e|d(?:e(?:lete|sc)|rop)|(?:inser|selec)t|load)[sv]*?([sv]*?space[sv]*?(" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)(?:&&||||and|between|div|like|n(?:and|ot)|(?:xx?)?or)[sv(]+[0-9A-Z_a-z]+[sv)]*?[!+=]+[sv0-9]*?[\"'-)=`]|[0-9](?:[sv]*?(?:and|between|div|like|x?or)[sv]*?[0-9]+[sv]*?[+-]|[sv]+group[sv]+by.+()|/[0-9A-Z_a-z]+;?[sv]+(?:and|between|div|having|like|x?or|select)[^0-9A-Z_a-z]|(?:[#;]|--)[sv]*?(?:alter|drop|(?:insert|update)[sv]*?[0-9A-Z_a-z]{2,})|@.+=[sv]*?([sv]*?select|[^0-9A-Z_a-z]SET[sv]*?@[0-9A-Z_a-z]+" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)[\"'`][sv]*?(?:(?:and|n(?:and|ot)|(?:xx?)?or|div|like|between||||&&)[sv]+[sv0-9A-Z_a-z]+=[sv]*?[0-9A-Z_a-z]+[sv]*?having[sv]+|like[^0-9A-Z_a-z]*?[\"'0-9`])|[0-9A-Z_a-z][sv]+like[sv]+[\"'`]|like[sv]*?[\"'`]%|select[sv]+?[sv\"'-),-.0-9A-[]_-z]+from[sv]+" - }, - { - "category": "SQLI", - "pattern": "@rx (?i))[sv]*?when[sv]*?[0-9]+[sv]*?then|[\"'`][sv]*?(?:[#{]|--)|/*![sv]?[0-9]+|b(?:(?:binary|cha?r)[sv]*?([sv]*?[0-9]|(?:and|n(?:and|ot)|(?:xx?)?or|div|like|between|r(?:egexp|like))[sv]+[0-9A-Z_a-z]+()|(?:|||&&)[sv]*?[0-9A-Z_a-z]+(" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)(?:([sv]*?select[sv]*?[0-9A-Z_a-z]+|coalesce|order[sv]+by[sv]+if[0-9A-Z_a-z]*?)[sv]*?(|*/from|+[sv]*?[0-9]+[sv]*?+[sv]*?@|[0-9A-Z_a-z][\"'`][sv]*?(?:(?:[+-=@|]+[sv]+?)+|[+-=@|]+)[(0-9]|@@[0-9A-Z_a-z]+[sv]*?[^sv0-9A-Z_a-z]|[^0-9A-Z_a-z]!+[\"'`][0-9A-Z_a-z]|[\"'`](?:;[sv]*?(?:if|while|begin)|[sv0-9]+=[sv]*?[0-9])|[sv(]+case[0-9]*?[^0-9A-Z_a-z].+[tw]hen[sv(]" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)[\"'`][sv]*?b(?:x?or|div|like|between|and)b[sv]*?[\"'`]?[0-9]|x5cx(?:2[37]|3d)|^(?:.?[\"'`]$|[\"'x5c`]*?(?:[\"'0-9`]+|[^\"'`]+[\"'`])[sv]*?b(?:and|n(?:and|ot)|(?:xx?)?or|div|like|between||||&&)b[sv]*?[\"'0-9A-Z_-z][!&(-)+-.@])|[^sv0-9A-Z_a-z][0-9A-Z_a-z]+[sv]*?[-|][sv]*?[\"'`][sv]*?[0-9A-Z_a-z]|@(?:[0-9A-Z_a-z]+[sv]+(?:and|x?or|div|like|between)b[sv]*?[\"'0-9`]+|[-0-9A-Z_a-z]+[sv](?:and|x?or|div|like|between)b[sv]*?[^sv0-9A-Z_a-z])|[^sv0-:A-Z_a-z][sv]*?[0-9][^0-9A-Z_a-z]+[^sv0-9A-Z_a-z][sv]*?[\"'`].|[^0-9A-Z_a-z]information_schema|table_name[^0-9A-Z_a-z]" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)in[sv]*?(+[sv]*?select|(?:(?:(?i:N)?AND|(?i:X)?(?i:X)?OR|DIV|LIKE|BETWEEN|NOT)[sv]+|(?:|||&&)[sv]*)[sv+0-9A-Z_a-z]+(?:regexp[sv]*?(|sounds[sv]+like[sv]*?[\"'`]|[0-9=]+x)|[\"'`](?:[sv]*?(?:[0-9][sv]*?(?:--|#)|is[sv]*?(?:[0-9].+[\"'`]?[0-9A-Z_a-z]|[.0-9]+[sv]*?[^0-9A-Z_a-z].*?[\"'`]))|[%-&<->^]+[0-9][sv]*?(?:=|x?or|div|like|between|and)|(?:[^0-9A-Z_a-z]+[+-0-9A-Z_a-z]+[sv]*?=[sv]*?[0-9][^0-9A-Z_a-z]+||?[-0-9A-Z_a-z]{3,}[^sv,.0-9A-Z_a-z]+)[\"'`]|[sv]*(?:(?:(?i:N)?AND|(?i:X)?(?i:X)?OR|DIV|LIKE|BETWEEN|NOT)[sv]+|(?:|||&&)[sv]*)(?:array[sv]*[|[0-9A-Z_a-z]+(?:[sv]*!?~|[sv]+(?:not[sv]+)?similar[sv]+to[sv]+)|(?:tru|fals)eb))|bexcept[sv]+(?:selectb|values[sv]*?()" - }, - { - "category": "SQLI", - "pattern": "@rx (?i:^[Wd]+s*?(?:alter|union)b)" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)(?:alter|(?:(?:cre|trunc|upd)at|renam)e|de(?:lete|sc)|(?:inser|selec)t|load)[sv]+(?:char|group_concat|load_file)[sv]?(?|end[sv]*?);|[sv(]load_file[sv]*?(|[\"'`][sv]+regexp[^0-9A-Z_a-z]|[^A-Z_a-z][sv]+asb[sv]*[\"'0-9A-Z_-z]+[sv]*bfrom|^[^A-Z_a-z]+[sv]*?(?:create[sv]+[0-9A-Z_a-z]+|(?:d(?:e(?:lete|sc)|rop)|(?:inser|selec)t|load|(?:renam|truncat)e|u(?:pdate|nion[sv]*(?:all|(?:sele|distin)ct))|alter[sv]*(?:a(?:(?:ggregat|pplication[sv]*rol)e|s(?:sembl|ymmetric[sv]*ke)y|u(?:dit|thorization)|vailability[sv]*group)|b(?:roker[sv]*priority|ufferpool)|c(?:ertificate|luster|o(?:l(?:latio|um)|nversio)n|r(?:edential|yptographic[sv]*provider))|d(?:atabase|efault|i(?:mension|skgroup)|omain)|e(?:(?:ndpoi|ve)nt|xte(?:nsion|rnal))|f(?:lashback|oreign|u(?:lltext|nction))|hi(?:erarchy|stogram)|group|in(?:dex(?:type)?|memory|stance)|java|l(?:a(?:ngua|r)ge|ibrary|o(?:ckdown|g(?:file[sv]*group|in)))|m(?:a(?:s(?:k|ter[sv]*key)|terialized)|e(?:ssage[sv]*type|thod)|odule)|(?:nicknam|queu)e|o(?:perator|utline)|p(?:a(?:ckage|rtition)|ermission|ro(?:cedur|fil)e)|r(?:e(?:mot|sourc)e|o(?:l(?:e|lback)|ute))|s(?:chema|e(?:arch|curity|rv(?:er|ice)|quence|ssion)|y(?:mmetric[sv]*key|nonym)|togroup)|t(?:able(?:space)?|ext|hreshold|r(?:igger|usted)|ype)|us(?:age|er)|view|w(?:ork(?:load)?|rapper)|x(?:ml[sv]*schema|srobject)))b)" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)[\"'`](?:[sv]*?(?:(?:*.+(?:x?or|div|like|between|(?:an|i)d)[^0-9A-Z_a-z]*?[\"'`]|(?:x?or|div|like|between|and)[sv][^0-9]+[-0-9A-Z_a-z]+.*?)[0-9]|[^sv0-9?A-Z_a-z]+[sv]*?[^sv0-9A-Z_a-z]+[sv]*?[\"'`]|[^sv0-9A-Z_a-z]+[sv]*?[^A-Z_a-z].*?(?:#|--))|.*?*[sv]*?[0-9])|^[\"'`]|[%(-+-<>][-0-9A-Z_a-z]+[^sv0-9A-Z_a-z]+[\"'`][^,]" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)b(?:havingb(?:[sv]+(?:[0-9]{1,10}|'[^=]{1,10}')[sv]*?[<->]| ?(?:[0-9]{1,10} ?[<->]+|[\"'][^=]{1,10}[ \"'<-?[]+))|ex(?:ecute(?:(|[sv]{1,5}[$.0-9A-Z_a-z]{1,5}[sv]{0,3})|ists[sv]*?([sv]*?selectb)|(?:create[sv]+?table.{0,20}?|like[^0-9A-Z_a-z]*?char[^0-9A-Z_a-z]*?)()|select.*?case|from.*?limit|order[sv]by|exists[sv](?:[sv]select|s(?:elect[^sv](?:if(?:null)?[sv](|top|concat)|ystem[sv]()|bhavingb[sv]+[0-9]{1,10}|'[^=]{1,10}')" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)b(?:orb(?:[sv]?(?:[0-9]{1,10}|[\"'][^=]{1,10}[\"'])[sv]?[<->]+|[sv]+(?:[0-9]{1,10}|'[^=]{1,10}')(?:[sv]*?[<->])?)|xorb[sv]+(?:[0-9]{1,10}|'[^=]{1,10}')(?:[sv]*?[<->])?)|'[sv]+x?or[sv]+.{1,20}[!+-<->]" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)bandb(?:[sv]+(?:[0-9]{1,10}[sv]*?[<->]|'[^=]{1,10}')| ?(?:[0-9]{1,10}|[\"'][^=]{1,10}[\"']) ?[<->]+)" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)b(?:a(?:(?:b|co)s|dd(?:dat|tim)e|es_(?:de|en)crypt|s(?:in|cii(?:str)?)|tan2?|vg)|b(?:enchmark|i(?:n(?:_to_num)?|t_(?:and|count|length|x?or)))|c(?:ast|h(?:ar(?:(?:acter)?_length|set)?|r)|iel(?:ing)?|o(?:alesce|ercibility|(?:mpres)?s|n(?:cat(?:_ws)?|nection_id|v(?:ert(?:_tz)?)?)|(?:un)?t)|r32|ur(?:(?:dat|tim)e|rent_(?:date|time(?:stamp)?|user)))|d(?:a(?:t(?:abase|e(?:_(?:add|format|sub)|diff)?)|y(?:name|of(?:month|week|year))?)|count|e(?:code|(?:faul|s_(?:de|en)cryp)t|grees)|ump)|e(?:lt|nc(?:ode|rypt)|x(?:p(?:ort_set)?|tract(?:value)?))|f(?:i(?:eld(?:_in_set)?|nd_in_set)|loor|o(?:rmat|und_rows)|rom_(?:base64|days|unixtime))|g(?:et_(?:format|lock)|r(?:eates|oup_conca)t)|h(?:ex(?:toraw)?|our)|i(?:f(?:null)?|n(?:et6?_(?:aton|ntoa)|s(?:ert|tr)|terval)?|s(?:_(?:(?:free|used)_lock|ipv(?:4(?:_(?:compat|mapped))?|6)|n(?:ot(?:_null)?|ull))|null)?)|l(?:ast(?:_(?:day|insert_id))?|case|e(?:(?:as|f)t|ngth)|n|o(?:ad_file|ca(?:l(?:timestamp)?|te)|g(?:10|2)?|wer)|pad|trim)|m(?:a(?:ke(?:date|_set)|ster_pos_wait|x)|d5|i(?:(?:crosecon)?d|n(?:ute)?)|o(?:d|nth(?:name)?))|n(?:ame_const|o(?:t_in|w)|ullif)|o(?:ct(?:et_length)?|(?:ld_passwo)?rd)|p(?:assword|eriod_(?:add|diff)|g_sleep|i|o(?:sition|w(?:er)?)|rocedure_analyse)|qu(?:arter|ote)|r(?:a(?:dians|nd|wto(?:hex|nhex(?:toraw)?))|e(?:lease_lock|p(?:eat|lace)|verse)|ight|o(?:und|w_count)|pad|trim)|s(?:chema|e(?:c(?:ond|_to_time)|ssion_user)|ha[1-2]?|ig?n|leep|oundex|pace|qrt|t(?:d(?:dev(?:_(?:po|sam)p)?)?|r(?:cmp|_to_date))|u(?:b(?:(?:dat|tim)e|str(?:ing(?:_index)?)?)|m)|ys(?:date|tem_user))|t(?:an|ime(?:diff|_(?:format|to_sec)|stamp(?:add|diff)?)?|o_(?:base64|n?char|(?:day|second)s)|r(?:im|uncate))|u(?:case|n(?:compress(?:ed_length)?|hex|ix_timestamp)|p(?:datexml|per)|ser|tc_(?:date|time(?:stamp)?)|uid(?:_short)?)|v(?:a(?:lues|r(?:iance|_(?:po|sam)p))|ersion)|we(?:ek(?:day|ofyear)?|ight_string)|xmltype|year(?:week)?)[^0-9A-Z_a-z]*?(" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)autonomous_transaction|(?:current_use|n?varcha|tbcreato)r|db(?:a_users|ms_java)|open(?:owa_util|query|rowset)|s(?:p_(?:(?:addextendedpro|sqlexe)c|execute(?:sql)?|help|is_srvrolemember|makewebtask|oacreate|p(?:assword|repare)|replwritetovarbin)|ql_(?:longvarchar|variant))|utl_(?:file|http)|xp_(?:availablemedia|(?:cmdshel|servicecontro)l|dirtree|e(?:numdsn|xecresultset)|filelist|loginconfig|makecab|ntsec(?:_enumdomains)?|reg(?:addmultistring|delete(?:key|value)|enum(?:key|value)s|re(?:ad|movemultistring)|write)|terminate(?:_process)?)" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)b(?:(?:d(?:bms_[0-9A-Z_a-z]+.|eleteb[^0-9A-Z_a-z]*?bfrom)|(?:groupb.*?bbyb.{1,100}?bhav|overlayb[^0-9A-Z_a-z]*?(.*?b[^0-9A-Z_a-z]*?plac)ing|in(?:nerb[^0-9A-Z_a-z]*?bjoin|sertb[^0-9A-Z_a-z]*?binto|tob[^0-9A-Z_a-z]*?b(?:dump|out)file)|loadb[^0-9A-Z_a-z]*?bdatab.*?binfile|s(?:electb.{1,100}?b(?:(?:.*?bdumpb.*|(?:count|length)b.{1,100}?)bfrom|(?:data_typ|fromb.{1,100}?bwher)e|instr|to(?:_(?:cha|numbe)r|pb.{1,100}?bfrom))|ys_context)|u(?:nionb.{1,100}?bselect|tl_inaddr))b|printb[^0-9A-Z_a-z]*?@@)|(?:collation[^0-9A-Z_a-z]*?(a|@@version|;[^0-9A-Z_a-z]*?b(?:drop|shutdown))b|'(?:dbo|msdasql|s(?:a|qloledb))'" - }, - { - "category": "SQLI", - "pattern": "@rx ((?:[~!@#$%^&*()-+={}[]|:;\"'\u00b4\u2019\u2018`<>][^~!@#$%^&*()-+={}[]|:;\"'\u00b4\u2019\u2018`<>]*?){12})" - }, - { - "category": "SQLI", - "pattern": "@rx /*!?|*/|[';]--|--(?:[sv]|[^-]*?-)|[^&-]#.*?[sv]|;?x00" - }, - { - "category": "SQLI", - "pattern": "!@rx ^ey[-0-9A-Z_a-z]+.ey[-0-9A-Z_a-z]+.[-0-9A-Z_a-z]+$" - }, - { - "category": "SQLI", - "pattern": "@rx (?i:b0x[a-fd]{3,})" - }, - { - "category": "SQLI", - "pattern": "@rx (?:`(?:(?:[ws=_-+{}()<@]){2,29}|(?:[A-Za-z0-9+/]{4})+(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?)`)" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)[\"'`][sv]*?(?:(?:is[sv]+not|not[sv]+(?:like|glob|(?:betwee|i)n|null|regexp|match)|mod|div|sounds[sv]+like)b|[%-&*-+-/<->^|])" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)^(?:[^']*?(?:'[^']*?'[^']*?)*?'|[^\"]*?(?:\"[^\"]*?\"[^\"]*?)*?\"|[^`]*?(?:`[^`]*?`[^`]*?)*?`)[sv]*([0-9A-Z_a-z]+)b" - }, - { - "category": "SQLI", - "pattern": "@rx ^(?:and|or)$" - }, - { - "category": "SQLI", - "pattern": "@rx ^.*?x5c['\"`](?:.*?['\"`])?s*(?:and|or)b" - }, - { - "category": "SQLI", - "pattern": "@detectSQLi" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)b(?:a(?:dd(?:dat|tim)e|es_(?:de|en)crypt|s(?:cii(?:str)?|in)|tan2?)|b(?:enchmark|i(?:n_to_num|t_(?:and|count|length|x?or)))|c(?:har(?:acter)?_length|iel(?:ing)?|o(?:alesce|ercibility|llation|(?:mpres)?s|n(?:cat(?:_ws)?|nection_id|v(?:ert(?:_tz)?)?)|t)|r32|ur(?:(?:dat|tim)e|rent_(?:date|setting|time(?:stamp)?|user)))|d(?:a(?:t(?:abase(?:_to_xml)?|e(?:_(?:add|format|sub)|diff))|y(?:name|of(?:month|week|year)))|count|e(?:code|grees|s_(?:de|en)crypt)|ump)|e(?:lt|n(?:c(?:ode|rypt)|ds_?with)|x(?:p(?:ort_set)?|tract(?:value)?))|f(?:i(?:el|n)d_in_set|ound_rows|rom_(?:base64|days|unixtime))|g(?:e(?:ometrycollection|t(?:_(?:format|lock)|pgusername))|(?:r(?:eates|oup_conca)|tid_subse)t)|hex(?:toraw)?|i(?:fnull|n(?:et6?_(?:aton|ntoa)|s(?:ert|tr)|terval)|s(?:_(?:(?:free|used)_lock|ipv(?:4(?:_(?:compat|mapped))?|6)|n(?:ot(?:_null)?|ull)|superuser)|null))|json(?:_(?:a(?:gg|rray(?:_(?:elements(?:_text)?|length))?)|build_(?:array|object)|e(?:ac|xtract_pat)h(?:_text)?|object(?:_(?:agg|keys))?|populate_record(?:set)?|strip_nulls|t(?:o_record(?:set)?|ypeof))|b(?:_(?:array(?:_(?:elements(?:_text)?|length))?|build_(?:array|object)|object(?:_(?:agg|keys))?|e(?:ac|xtract_pat)h(?:_text)?|insert|p(?:ath_(?:(?:exists|match)(?:_tz)?|query(?:_(?:(?:array|first)(?:_tz)?|tz))?)|opulate_record(?:set)?|retty)|s(?:et(?:_lax)?|trip_nulls)|t(?:o_record(?:set)?|ypeof)))?|path)?|l(?:ast_(?:day|inser_id)|case|e(?:as|f)t|i(?:kel(?:ihood|y)|nestring)|o(?:_(?:from_bytea|put)|ad_file|ca(?:ltimestamp|te)|g(?:10|2)|wer)|pad|trim)|m(?:a(?:ke(?:_set|date)|ster_pos_wait)|d5|i(?:crosecon)?d|onthname|ulti(?:linestring|po(?:int|lygon)))|n(?:ame_const|ot_in|ullif)|o(?:ct(?:et_length)?|(?:ld_passwo)?rd)|p(?:eriod_(?:add|diff)|g_(?:client_encoding|(?:databas|read_fil)e|l(?:argeobject|s_dir)|sleep|user)|o(?:(?:lyg|siti)on|w)|rocedure_analyse)|qu(?:arter|ery_to_xml|ote)|r(?:a(?:dians|nd|wtohex)|elease_lock|ow_(?:count|to_json)|pad|trim)|s(?:chema|e(?:c_to_time|ssion_user)|ha[1-2]?|in|oundex|pace|q(?:lite_(?:compileoption_(?:get|used)|source_id)|rt)|t(?:arts_?with|d(?:dev_(?:po|sam)p)?|r(?:_to_date|cmp))|ub(?:(?:dat|tim)e|str(?:ing(?:_index)?)?)|ys(?:date|tem_user))|t(?:ime(?:_(?:format|to_sec)|diff|stamp(?:add|diff)?)|o(?:_(?:base64|jsonb?)|n?char|(?:day|second)s)|r(?:im|uncate))|u(?:case|n(?:compress(?:ed_length)?|hex|i(?:str|x_timestamp)|likely)|(?:pdatexm|se_json_nul)l|tc_(?:date|time(?:stamp)?)|uid(?:_short)?)|var(?:_(?:po|sam)p|iance)|we(?:ek(?:day|ofyear)|ight_string)|xmltype|yearweek)[^0-9A-Z_a-z]*(" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)create[sv]+(?:function|procedure)[sv]*?[0-9A-Z_a-z]+[sv]*?([sv]*?)[sv]*?-|d(?:eclare[^0-9A-Z_a-z]+[#@][sv]*?[0-9A-Z_a-z]+|iv[sv]*?([+-]*[sv.0-9]+,[+-]*[sv.0-9]+))|exec[sv]*?([sv]*?@|(?:lo_(?:impor|ge)t|procedure[sv]+analyse)[sv]*?(|;[sv]*?(?:declare|open)[sv]+[-0-9A-Z_a-z]+|::(?:b(?:igint|ool)|double[sv]+precision|int(?:eger)?|numeric|oid|real|(?:tex|smallin)t)" - }, - { - "category": "SQLI", - "pattern": "@lt 3" - }, - { - "category": "SQLI", - "pattern": "@lt 3" - }, - { - "category": "SQLI", - "pattern": "@rx (?i)W+d*?s*?bhavingbs*?[^s-]" - }, - { - "category": "SQLI", - "pattern": "@rx [\"'`][sd]*?[^ws]W*?dW*?.*?[\"'`d]" - }, - { - "category": "SQLI", - "pattern": "@rx ((?:[~!@#$%^&*()-+={}[]|:;\"'\u00b4\u2019\u2018`<>][^~!@#$%^&*()-+={}[]|:;\"'\u00b4\u2019\u2018`<>]*?){8})" - }, - { - "category": "SQLI", - "pattern": "@rx ((?:[~!@#$%^&*()-+={}[]|:;\"'\u00b4\u2019\u2018`<>][^~!@#$%^&*()-+={}[]|:;\"'\u00b4\u2019\u2018`<>]*?){6})" - }, - { - "category": "SQLI", - "pattern": "@rx W{4}" - }, - { - "category": "SQLI", - "pattern": "@rx (?:'(?:(?:[ws=_-+{}()<@]){2,29}|(?:[A-Za-z0-9+/]{4})+(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?)')" - }, - { - "category": "SQLI", - "pattern": "@rx ';" - }, - { - "category": "SQLI", - "pattern": "@lt 4" - }, - { - "category": "SQLI", - "pattern": "@lt 4" - }, - { - "category": "SQLI", - "pattern": "@rx ((?:[~!@#$%^&*()-+={}[]|:;\"'\u00b4\u2019\u2018`<>][^~!@#$%^&*()-+={}[]|:;\"'\u00b4\u2019\u2018`<>]*?){3})" - }, - { - "category": "SQLI", - "pattern": "@rx ((?:[~!@#$%^&*()-+={}[]|:;\"'\u00b4\u2019\u2018`<>][^~!@#$%^&*()-+={}[]|:;\"'\u00b4\u2019\u2018`<>]*?){2})" - }, - { - "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.outbound_anomaly_score_threshold}" - }, - { - "category": "EVALUATION", - "pattern": "@eq 1" - }, - { - "category": "EVALUATION", - "pattern": "@ge %{tx.outbound_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", + "category": "IIS", "pattern": "@lt 4" }, { @@ -2396,55 +2340,111 @@ "pattern": "@lt 4" }, { - "category": "IIS", + "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.outbound_anomaly_score_threshold}" + }, + { + "category": "EVALUATION", + "pattern": "@eq 1" + }, + { + "category": "EVALUATION", + "pattern": "@ge %{tx.outbound_anomaly_score_threshold}" + }, + { + "category": "EVALUATION", "pattern": "@lt 1" }, { - "category": "IIS", + "category": "EVALUATION", "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", + "category": "EVALUATION", "pattern": "@lt 2" }, { - "category": "IIS", + "category": "EVALUATION", "pattern": "@lt 2" }, { - "category": "IIS", + "category": "EVALUATION", "pattern": "@lt 3" }, { - "category": "IIS", + "category": "EVALUATION", "pattern": "@lt 3" }, { - "category": "IIS", + "category": "EVALUATION", "pattern": "@lt 4" }, { - "category": "IIS", + "category": "EVALUATION", "pattern": "@lt 4" }, { diff --git a/waf_patterns/apache/attack.conf b/waf_patterns/apache/attack.conf index 4efb342..376edd2 100644 --- a/waf_patterns/apache/attack.conf +++ b/waf_patterns/apache/attack.conf @@ -1,20 +1,20 @@ # Apache ModSecurity rules for ATTACK SecRuleEngine On -SecRule REQUEST_URI "\^content\-types\*:s\*\(\.\*\)\$" "id:1101,phase:1,deny,status:403,log,msg:'attack attack detected'" -SecRule REQUEST_URI "@gt\ 1" "id:1014,phase:1,deny,status:403,log,msg:'attack attack detected'" -SecRule REQUEST_URI "unix:\[\^\|\]\*\|" "id:1009,phase:1,deny,status:403,log,msg:'attack attack detected'" -SecRule REQUEST_URI "\(\?:bhttp/d\|<\(\?:html\|meta\)b\)" "id:1003,phase:1,deny,status:403,log,msg:'attack attack detected'" -SecRule REQUEST_URI "\^\[\^sv,;\]\+\[sv,;\]\.\*\?\(\?:application/\(\?:\.\+\+\)\?json\|\(\?:application/\(\?:soap\+\)\?\|text/\)xml\)" "id:1008,phase:1,deny,status:403,log,msg:'attack attack detected'" -SecRule REQUEST_URI "\[rn\]W\*\?\(\?:content\-\(\?:type\|length\)\|set\-cookie\|location\):s\*w" "id:1002,phase:1,deny,status:403,log,msg:'attack attack detected'" -SecRule REQUEST_URI "content\-transfer\-encoding:\(\.\*\)" "id:1102,phase:1,deny,status:403,log,msg:'attack attack detected'" -SecRule REQUEST_URI "\[nr\]" "id:1005,phase:1,deny,status:403,log,msg:'attack attack detected'" -SecRule REQUEST_URI "\." "id:1013,phase:1,deny,status:403,log,msg:'attack attack detected'" -SecRule REQUEST_URI "\[nr\]" "id:1007,phase:1,deny,status:403,log,msg:'attack attack detected'" -SecRule REQUEST_URI "@gt\ 0" "id:1012,phase:1,deny,status:403,log,msg:'attack attack detected'" -SecRule REQUEST_URI "TX:paramcounter_\(\.\*\)" "id:1015,phase:1,deny,status:403,log,msg:'attack attack detected'" -SecRule REQUEST_URI "\(\?:get\|post\|head\|options\|connect\|put\|delete\|trace\|track\|patch\|propfind\|propatch\|mkcol\|copy\|move\|lock\|unlock\)s\+\[\^s\]\+s\+http/d" "id:1001,phase:1,deny,status:403,log,msg:'attack attack detected'" -SecRule REQUEST_URI "\[nr\]" "id:1004,phase:1,deny,status:403,log,msg:'attack attack detected'" -SecRule REQUEST_URI "\[nr\]" "id:1010,phase:1,deny,status:403,log,msg:'attack attack detected'" -SecRule REQUEST_URI "\[nr\]\+\(\?:s\|location\|refresh\|\(\?:set\-\)\?cookie\|\(\?:x\-\)\?\(\?:forwarded\-\(\?:for\|host\|server\)\|host\|via\|remote\-ip\|remote\-addr\|originating\-IP\)\)s\*:" "id:1006,phase:1,deny,status:403,log,msg:'attack attack detected'" -SecRule REQUEST_URI "\^\[\^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" "id:1011,phase:1,deny,status:403,log,msg:'attack attack detected'" +SecRule REQUEST_URI "\(\?:bhttp/d\|<\(\?:html\|meta\)b\)" "id:1057,phase:1,deny,status:403,log,msg:'attack attack detected'" +SecRule REQUEST_URI "\[nr\]" "id:1058,phase:1,deny,status:403,log,msg:'attack attack detected'" +SecRule REQUEST_URI "\(\?:get\|post\|head\|options\|connect\|put\|delete\|trace\|track\|patch\|propfind\|propatch\|mkcol\|copy\|move\|lock\|unlock\)s\+\[\^s\]\+s\+http/d" "id:1055,phase:1,deny,status:403,log,msg:'attack attack detected'" +SecRule REQUEST_URI "\[nr\]" "id:1061,phase:1,deny,status:403,log,msg:'attack attack detected'" +SecRule REQUEST_URI "\[nr\]\+\(\?:s\|location\|refresh\|\(\?:set\-\)\?cookie\|\(\?:x\-\)\?\(\?:forwarded\-\(\?:for\|host\|server\)\|host\|via\|remote\-ip\|remote\-addr\|originating\-IP\)\)s\*:" "id:1060,phase:1,deny,status:403,log,msg:'attack attack detected'" +SecRule REQUEST_URI "\[nr\]" "id:1064,phase:1,deny,status:403,log,msg:'attack attack detected'" +SecRule REQUEST_URI "\[rn\]W\*\?\(\?:content\-\(\?:type\|length\)\|set\-cookie\|location\):s\*w" "id:1056,phase:1,deny,status:403,log,msg:'attack attack detected'" +SecRule REQUEST_URI "@gt\ 1" "id:1068,phase:1,deny,status:403,log,msg:'attack attack detected'" +SecRule REQUEST_URI "\^\[\^sv,;\]\+\[sv,;\]\.\*\?\(\?:application/\(\?:\.\+\+\)\?json\|\(\?:application/\(\?:soap\+\)\?\|text/\)xml\)" "id:1062,phase:1,deny,status:403,log,msg:'attack attack detected'" +SecRule REQUEST_URI "\^\[\^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" "id:1065,phase:1,deny,status:403,log,msg:'attack attack detected'" +SecRule REQUEST_URI "@gt\ 0" "id:1066,phase:1,deny,status:403,log,msg:'attack attack detected'" +SecRule REQUEST_URI "unix:\[\^\|\]\*\|" "id:1063,phase:1,deny,status:403,log,msg:'attack attack detected'" +SecRule REQUEST_URI "\." "id:1067,phase:1,deny,status:403,log,msg:'attack attack detected'" +SecRule REQUEST_URI "content\-transfer\-encoding:\(\.\*\)" "id:1100,phase:1,deny,status:403,log,msg:'attack attack detected'" +SecRule REQUEST_URI "\^content\-types\*:s\*\(\.\*\)\$" "id:1099,phase:1,deny,status:403,log,msg:'attack attack detected'" +SecRule REQUEST_URI "TX:paramcounter_\(\.\*\)" "id:1069,phase:1,deny,status:403,log,msg:'attack attack detected'" +SecRule REQUEST_URI "\[nr\]" "id:1059,phase:1,deny,status:403,log,msg:'attack attack detected'" diff --git a/waf_patterns/apache/bots.conf b/waf_patterns/apache/bots.conf index 2672588..0f4a5fc 100644 --- a/waf_patterns/apache/bots.conf +++ b/waf_patterns/apache/bots.conf @@ -99,6 +99,7 @@ SecRule REQUEST_HEADERS:User-Agent "@contains Bad-Neighborhood" "id:3000,phase:1 SecRule REQUEST_HEADERS:User-Agent "@contains Badass" "id:3000,phase:1,deny,status:403" SecRule REQUEST_HEADERS:User-Agent "@contains Bandit" "id:3000,phase:1,deny,status:403" SecRule REQUEST_HEADERS:User-Agent "@contains Barkrowler" "id:3000,phase:1,deny,status:403" +SecRule REQUEST_HEADERS:User-Agent "@contains Barracuda Sentinel \(EE\)" "id:3000,phase:1,deny,status:403" SecRule REQUEST_HEADERS:User-Agent "@contains BatchFTP" "id:3000,phase:1,deny,status:403" SecRule REQUEST_HEADERS:User-Agent "@contains Battleztar Bazinga" "id:3000,phase:1,deny,status:403" SecRule REQUEST_HEADERS:User-Agent "@contains Battleztar\ Bazinga" "id:3000,phase:1,deny,status:403" @@ -635,6 +636,7 @@ SecRule REQUEST_HEADERS:User-Agent "@contains Mass\ Downloader" "id:3000,phase:1 SecRule REQUEST_HEADERS:User-Agent "@contains Masscan" "id:3000,phase:1,deny,status:403" SecRule REQUEST_HEADERS:User-Agent "@contains Mata Hari" "id:3000,phase:1,deny,status:403" SecRule REQUEST_HEADERS:User-Agent "@contains Mata\ Hari" "id:3000,phase:1,deny,status:403" +SecRule REQUEST_HEADERS:User-Agent "@contains MatchorySearch\/" "id:3000,phase:1,deny,status:403" SecRule REQUEST_HEADERS:User-Agent "@contains MauiBot" "id:3000,phase:1,deny,status:403" SecRule REQUEST_HEADERS:User-Agent "@contains Mb2345Browser" "id:3000,phase:1,deny,status:403" SecRule REQUEST_HEADERS:User-Agent "@contains MeanPath\ Bot" "id:3000,phase:1,deny,status:403" @@ -1369,6 +1371,7 @@ SecRule REQUEST_HEADERS:User-Agent "@contains ^git\/" "id:3000,phase:1,deny,stat SecRule REQUEST_HEADERS:User-Agent "@contains ^npm\/" "id:3000,phase:1,deny,status:403" SecRule REQUEST_HEADERS:User-Agent "@contains ^pip\/" "id:3000,phase:1,deny,status:403" SecRule REQUEST_HEADERS:User-Agent "@contains ^pnpm\/" "id:3000,phase:1,deny,status:403" +SecRule REQUEST_HEADERS:User-Agent "@contains ^symbolicator\/" "id:3000,phase:1,deny,status:403" SecRule REQUEST_HEADERS:User-Agent "@contains ^twine\/" "id:3000,phase:1,deny,status:403" SecRule REQUEST_HEADERS:User-Agent "@contains ^ureq" "id:3000,phase:1,deny,status:403" SecRule REQUEST_HEADERS:User-Agent "@contains a3logics\.in" "id:3000,phase:1,deny,status:403" diff --git a/waf_patterns/apache/correlation.conf b/waf_patterns/apache/correlation.conf index a9df906..a174e5b 100644 --- a/waf_patterns/apache/correlation.conf +++ b/waf_patterns/apache/correlation.conf @@ -1,11 +1,11 @@ # Apache ModSecurity rules for CORRELATION SecRuleEngine On -SecRule REQUEST_URI "@ge\ %\{tx\.inbound_anomaly_score_threshold\}" "id:1313,phase:1,deny,status:403,log,msg:'correlation attack detected'" -SecRule REQUEST_URI "@ge\ 5" "id:1311,phase:1,deny,status:403,log,msg:'correlation attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1312,phase:1,deny,status:403,log,msg:'correlation attack detected'" -SecRule REQUEST_URI "@ge\ %\{tx\.inbound_anomaly_score_threshold\}" "id:1315,phase:1,deny,status:403,log,msg:'correlation attack detected'" -SecRule REQUEST_URI "@ge\ %\{tx\.outbound_anomaly_score_threshold\}" "id:1314,phase:1,deny,status:403,log,msg:'correlation attack detected'" -SecRule REQUEST_URI "@gt\ 0" "id:1317,phase:1,deny,status:403,log,msg:'correlation attack detected'" -SecRule REQUEST_URI "@ge\ %\{tx\.outbound_anomaly_score_threshold\}" "id:1316,phase:1,deny,status:403,log,msg:'correlation attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1310,phase:1,deny,status:403,log,msg:'correlation attack detected'" +SecRule REQUEST_URI "@ge\ %\{tx\.inbound_anomaly_score_threshold\}" "id:1298,phase:1,deny,status:403,log,msg:'correlation attack detected'" +SecRule REQUEST_URI "@ge\ %\{tx\.outbound_anomaly_score_threshold\}" "id:1301,phase:1,deny,status:403,log,msg:'correlation attack detected'" +SecRule REQUEST_URI "@gt\ 0" "id:1302,phase:1,deny,status:403,log,msg:'correlation attack detected'" +SecRule REQUEST_URI "@ge\ %\{tx\.inbound_anomaly_score_threshold\}" "id:1300,phase:1,deny,status:403,log,msg:'correlation attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1295,phase:1,deny,status:403,log,msg:'correlation attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1297,phase:1,deny,status:403,log,msg:'correlation attack detected'" +SecRule REQUEST_URI "@ge\ 5" "id:1296,phase:1,deny,status:403,log,msg:'correlation attack detected'" +SecRule REQUEST_URI "@ge\ %\{tx\.outbound_anomaly_score_threshold\}" "id:1299,phase:1,deny,status:403,log,msg:'correlation attack detected'" diff --git a/waf_patterns/apache/enforcement.conf b/waf_patterns/apache/enforcement.conf index b7091e4..ca3e7c2 100644 --- a/waf_patterns/apache/enforcement.conf +++ b/waf_patterns/apache/enforcement.conf @@ -1,82 +1,82 @@ # Apache ModSecurity rules for ENFORCEMENT SecRuleEngine On -SecRule REQUEST_URI "\^\$" "id:1044,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "\(\?:\^\|\[\^x5c\]\)x5c\[cdeghijklmpqwxyz123456789\]" "id:1100,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "\['";=\]" "id:1084,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@ge\ 1" "id:1093,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@validateByteRange\ 32\-36,38\-126" "id:1089,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "\^\.\*\$" "id:1087,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "!@streq\ JSON" "id:1073,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@eq\ 1" "id:1051,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@gt\ %\{tx\.max_file_size\}" "id:1060,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "!@pm\ AppleWebKit\ Android" "id:1092,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@gt\ %\{tx\.max_num_args\}" "id:1052,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "x25" "id:1033,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "charsets\*=s\*\["'\]\?\(\[\^;"'s\]\+\)" "id:1065,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "!@rx\ \^0\$" "id:1085,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@eq\ 1" "id:1035,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1027,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "\(\?:\^\(\[d\.\]\+\|\[\[da\-f:\]\+\]\|\[da\-f:\]\+\)\(:\[d\]\+\)\?\$\)" "id:1050,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@eq\ 1" "id:1053,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "\^\[\^;s\]\+" "id:1064,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "\^bytes=\(\?:\(\?:d\+\)\?\-\(\?:d\+\)\?s\*,\?s\*\)\{6\}" "id:1077,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "!@rx\ \^\(\?:\(\?:max\-age=\[0\-9\]\+\|min\-fresh=\[0\-9\]\+\|no\-cache\|no\-store\|no\-transform\|only\-if\-cached\|max\-stale\(\?:=\[0\-9\]\+\)\?\)\(\?:s\*,s\*\|\$\)\)\{1,7\}\$" "id:1095,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@gt\ %\{tx\.combined_file_sizes\}" "id:1062,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@validateByteRange\ 32,34,38,42\-59,61,65\-90,95,97\-122" "id:1099,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@streq\ POST" "id:1026,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@within\ %\{tx\.restricted_headers_basic\}" "id:1071,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "!@rx\ \^OPTIONS\$" "id:1042,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "\^\$" "id:1041,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "\^bytes=\(\?:\(\?:d\+\)\?\-\(\?:d\+\)\?s\*,\?s\*\)\{6\}" "id:1097,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "!@rx\ \^\(\?:OPTIONS\|CONNECT\)\$" "id:1091,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "\^bytes=\(\?:\(\?:d\+\)\?\-\(\?:d\+\)\?s\*,\?s\*\)\{63\}" "id:1080,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@gt\ 50" "id:1072,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@gt\ %\{tx\.total_arg_length\}" "id:1058,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@gt\ %\{tx\.arg_length\}" "id:1056,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@validateUtf8Encoding" "id:1036,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@endsWith\ \.pdf" "id:1079,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@gt\ 1" "id:1076,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "\.\(\[\^\.\]\+\)\$" "id:1067,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "!@rx\ \^d\+\$" "id:1022,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "\.\[\^\.\~\]\+\~\(\?:/\.\*\|\)\$" "id:1069,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "!@rx\ \^0\$" "id:1048,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "charset\.\*\?charset" "id:1066,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "\^\.\*\$" "id:1070,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "%u\[fF\]\{2\}\[0\-9a\-fA\-F\]\{2\}" "id:1037,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "!@pm\ AppleWebKit\ Android\ Business\ Enterprise\ Entreprise" "id:1043,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@eq\ 1" "id:1055,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@within\ %\{tx\.restricted_headers_extended\}" "id:1088,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@gt\ 0" "id:1094,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@validateByteRange\ 1\-255" "id:1038,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@validateByteRange\ 9,10,13,32\-126,128\-255" "id:1082,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1086,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "!@rx\ \^0\?\$" "id:1024,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "\^\(\?:GET\|HEAD\)\$" "id:1023,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1049,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@eq\ 1" "id:1057,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "\(d\+\)\-\(d\+\)" "id:1029,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "b\(\?:keep\-alive\|close\),s\?\(\?:keep\-alive\|close\)b" "id:1030,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "\(\?i\)x5cu\[0\-9a\-f\]\{4\}" "id:1074,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@eq\ 1" "id:1059,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@within\ %\{tx\.restricted_extensions\}" "id:1068,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@endsWith\ \.pdf" "id:1096,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "%\[0\-9a\-fA\-F\]\{2\}" "id:1081,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "\^\$" "id:1047,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "!@rx\ \^\[w/\.\+\*\-\]\+\(\?:s\?;s\?\(\?:action\|boundary\|charset\|component\|start\(\?:\-info\)\?\|type\|version\)s\?=s\?\['"w\.\(\)\+,/:=\?<>@\#\*\-\]\+\)\*\$" "id:1063,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1090,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "x25" "id:1031,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@eq\ 1" "id:1061,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@contains\ \#" "id:1075,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "\^\$" "id:1040,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "!@endsWith\ \.pdf" "id:1078,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1083,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1028,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@validateByteRange\ 38,44\-46,48\-58,61,65\-90,95,97\-122" "id:1098,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@validateUrlEncoding" "id:1032,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1046,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@gt\ %\{tx\.arg_name_length\}" "id:1054,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1039,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "@validateUrlEncoding" "id:1034,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "\^\(\?:GET\|HEAD\)\$" "id:1025,phase:1,deny,status:403,log,msg:'enforcement attack detected'" -SecRule REQUEST_URI "!@rx\ \^OPTIONS\$" "id:1045,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@validateByteRange\ 1\-255" "id:1202,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@streq\ POST" "id:1190,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "charsets\*=s\*\["'\]\?\(\[\^;"'s\]\+\)" "id:1229,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@validateUtf8Encoding" "id:1200,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@within\ %\{tx\.restricted_headers_basic\}" "id:1235,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@endsWith\ \.pdf" "id:1260,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "!@rx\ \^d\+\$" "id:1186,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "\^\$" "id:1208,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@contains\ \#" "id:1239,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "\^\.\*\$" "id:1251,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@validateUrlEncoding" "id:1196,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "%u\[fF\]\{2\}\[0\-9a\-fA\-F\]\{2\}" "id:1201,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "\^\[\^;s\]\+" "id:1228,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "!@streq\ JSON" "id:1237,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@eq\ 1" "id:1199,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1250,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@gt\ %\{tx\.combined_file_sizes\}" "id:1226,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@validateUrlEncoding" "id:1198,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "\^bytes=\(\?:\(\?:d\+\)\?\-\(\?:d\+\)\?s\*,\?s\*\)\{6\}" "id:1261,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "!@rx\ \^OPTIONS\$" "id:1206,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "!@rx\ \^0\?\$" "id:1188,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "\.\[\^\.\~\]\+\~\(\?:/\.\*\|\)\$" "id:1233,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@gt\ %\{tx\.max_file_size\}" "id:1224,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "\(\?:\^\|\[\^x5c\]\)x5c\[cdeghijklmpqwxyz123456789\]" "id:1264,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "\^\$" "id:1205,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@eq\ 1" "id:1215,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@gt\ %\{tx\.total_arg_length\}" "id:1222,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "!@rx\ \^0\$" "id:1249,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@validateByteRange\ 38,44\-46,48\-58,61,65\-90,95,97\-122" "id:1262,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "\(\?:\^\(\[d\.\]\+\|\[\[da\-f:\]\+\]\|\[da\-f:\]\+\)\(:\[d\]\+\)\?\$\)" "id:1214,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@eq\ 1" "id:1217,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@endsWith\ \.pdf" "id:1243,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1213,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "\^\.\*\$" "id:1234,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@gt\ 0" "id:1258,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@gt\ 50" "id:1236,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@eq\ 1" "id:1219,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@gt\ %\{tx\.arg_name_length\}" "id:1218,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "\^\$" "id:1211,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@eq\ 1" "id:1221,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1254,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "\.\(\[\^\.\]\+\)\$" "id:1231,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "!@rx\ \^\(\?:OPTIONS\|CONNECT\)\$" "id:1255,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "!@rx\ \^0\$" "id:1212,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "\^\$" "id:1204,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@validateByteRange\ 32,34,38,42\-59,61,65\-90,95,97\-122" "id:1263,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1247,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@validateByteRange\ 32\-36,38\-126" "id:1253,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1192,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "\^bytes=\(\?:\(\?:d\+\)\?\-\(\?:d\+\)\?s\*,\?s\*\)\{63\}" "id:1244,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@eq\ 1" "id:1223,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "!@pm\ AppleWebKit\ Android\ Business\ Enterprise\ Entreprise" "id:1207,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@validateByteRange\ 9,10,13,32\-126,128\-255" "id:1246,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1210,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "!@pm\ AppleWebKit\ Android" "id:1256,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "%\[0\-9a\-fA\-F\]\{2\}" "id:1245,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "!@rx\ \^\(\?:\(\?:max\-age=\[0\-9\]\+\|min\-fresh=\[0\-9\]\+\|no\-cache\|no\-store\|no\-transform\|only\-if\-cached\|max\-stale\(\?:=\[0\-9\]\+\)\?\)\(\?:s\*,s\*\|\$\)\)\{1,7\}\$" "id:1259,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "!@rx\ \^\[w/\.\+\*\-\]\+\(\?:s\?;s\?\(\?:action\|boundary\|charset\|component\|start\(\?:\-info\)\?\|type\|version\)s\?=s\?\['"w\.\(\)\+,/:=\?<>@\#\*\-\]\+\)\*\$" "id:1227,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@gt\ 1" "id:1240,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "charset\.\*\?charset" "id:1230,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@eq\ 1" "id:1225,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1203,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "\^bytes=\(\?:\(\?:d\+\)\?\-\(\?:d\+\)\?s\*,\?s\*\)\{6\}" "id:1241,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@within\ %\{tx\.restricted_extensions\}" "id:1232,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "\['";=\]" "id:1248,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "\^\(\?:GET\|HEAD\)\$" "id:1187,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@gt\ %\{tx\.max_num_args\}" "id:1216,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "x25" "id:1195,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "\(\?i\)x5cu\[0\-9a\-f\]\{4\}" "id:1238,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@within\ %\{tx\.restricted_headers_extended\}" "id:1252,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@gt\ %\{tx\.arg_length\}" "id:1220,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "\(d\+\)\-\(d\+\)" "id:1193,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@ge\ 1" "id:1257,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "\^\(\?:GET\|HEAD\)\$" "id:1189,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "b\(\?:keep\-alive\|close\),s\?\(\?:keep\-alive\|close\)b" "id:1194,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "!@rx\ \^OPTIONS\$" "id:1209,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "x25" "id:1197,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "!@endsWith\ \.pdf" "id:1242,phase:1,deny,status:403,log,msg:'enforcement attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1191,phase:1,deny,status:403,log,msg:'enforcement attack detected'" diff --git a/waf_patterns/apache/evaluation.conf b/waf_patterns/apache/evaluation.conf index b344344..15b8030 100644 --- a/waf_patterns/apache/evaluation.conf +++ b/waf_patterns/apache/evaluation.conf @@ -1,41 +1,41 @@ # Apache ModSecurity rules for EVALUATION SecRuleEngine On -SecRule REQUEST_URI "@ge\ 1" "id:1292,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 3" "id:1303,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 2" "id:1179,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 4" "id:1175,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 1" "id:1176,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 3" "id:1181,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ %\{tx\.outbound_anomaly_score_threshold\}" "id:1309,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 2" "id:1301,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 4" "id:1297,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ %\{tx\.inbound_anomaly_score_threshold\}" "id:1186,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 4" "id:1306,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@eq\ 1" "id:1308,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 3" "id:1296,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 1" "id:1291,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 1" "id:1169,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 3" "id:1180,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 2" "id:1294,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 2" "id:1178,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 4" "id:1174,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 1" "id:1300,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 4" "id:1305,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 4" "id:1183,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@eq\ 1" "id:1185,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 3" "id:1295,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 3" "id:1173,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 1" "id:1168,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 2" "id:1293,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ %\{tx\.outbound_anomaly_score_threshold\}" "id:1307,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 2" "id:1171,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 3" "id:1304,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 4" "id:1298,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 1" "id:1299,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 1" "id:1177,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 4" "id:1182,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 2" "id:1302,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ %\{tx\.inbound_anomaly_score_threshold\}" "id:1184,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 3" "id:1172,phase:1,deny,status:403,log,msg:'evaluation attack detected'" -SecRule REQUEST_URI "@ge\ 2" "id:1170,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 2" "id:1306,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@eq\ 1" "id:1048,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ %\{tx\.inbound_anomaly_score_threshold\}" "id:1047,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 1" "id:1311,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 3" "id:1308,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 4" "id:1309,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 1" "id:1039,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 4" "id:1318,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 2" "id:1034,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 3" "id:1036,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 1" "id:1304,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 4" "id:1037,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 4" "id:1046,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 2" "id:1305,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ %\{tx\.inbound_anomaly_score_threshold\}" "id:1049,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 3" "id:1307,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 2" "id:1314,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ %\{tx\.outbound_anomaly_score_threshold\}" "id:1319,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 1" "id:1032,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 3" "id:1316,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 2" "id:1033,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 4" "id:1317,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 3" "id:1035,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 2" "id:1042,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 3" "id:1044,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 1" "id:1303,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 1" "id:1312,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 4" "id:1045,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 2" "id:1313,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ %\{tx\.outbound_anomaly_score_threshold\}" "id:1321,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 3" "id:1315,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 1" "id:1031,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 4" "id:1310,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 1" "id:1040,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@eq\ 1" "id:1320,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 2" "id:1041,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 3" "id:1043,phase:1,deny,status:403,log,msg:'evaluation attack detected'" +SecRule REQUEST_URI "@ge\ 4" "id:1038,phase:1,deny,status:403,log,msg:'evaluation attack detected'" diff --git a/waf_patterns/apache/exceptions.conf b/waf_patterns/apache/exceptions.conf index d178601..1370f5c 100644 --- a/waf_patterns/apache/exceptions.conf +++ b/waf_patterns/apache/exceptions.conf @@ -1,8 +1,8 @@ # Apache ModSecurity rules for EXCEPTIONS SecRuleEngine On -SecRule REQUEST_URI "@ipMatch\ 127\.0\.0\.1,::1" "id:1105,phase:1,deny,status:403,log,msg:'exceptions attack detected'" -SecRule REQUEST_URI "@endsWith\ \(internal\ dummy\ connection\)" "id:1106,phase:1,deny,status:403,log,msg:'exceptions attack detected'" -SecRule REQUEST_URI "@ipMatch\ 127\.0\.0\.1,::1" "id:1104,phase:1,deny,status:403,log,msg:'exceptions attack detected'" -SecRule REQUEST_URI "\^\(\?:GET\ /\|OPTIONS\ \*\)\ HTTP/\[12\]\.\[01\]\$" "id:1107,phase:1,deny,status:403,log,msg:'exceptions attack detected'" -SecRule REQUEST_URI "@streq\ GET\ /" "id:1103,phase:1,deny,status:403,log,msg:'exceptions attack detected'" +SecRule REQUEST_URI "@streq\ GET\ /" "id:1050,phase:1,deny,status:403,log,msg:'exceptions attack detected'" +SecRule REQUEST_URI "@endsWith\ \(internal\ dummy\ connection\)" "id:1053,phase:1,deny,status:403,log,msg:'exceptions attack detected'" +SecRule REQUEST_URI "@ipMatch\ 127\.0\.0\.1,::1" "id:1052,phase:1,deny,status:403,log,msg:'exceptions attack detected'" +SecRule REQUEST_URI "@ipMatch\ 127\.0\.0\.1,::1" "id:1051,phase:1,deny,status:403,log,msg:'exceptions attack detected'" +SecRule REQUEST_URI "\^\(\?:GET\ /\|OPTIONS\ \*\)\ HTTP/\[12\]\.\[01\]\$" "id:1054,phase:1,deny,status:403,log,msg:'exceptions attack detected'" diff --git a/waf_patterns/apache/fixation.conf b/waf_patterns/apache/fixation.conf index 3b0aebd..978fb31 100644 --- a/waf_patterns/apache/fixation.conf +++ b/waf_patterns/apache/fixation.conf @@ -1,9 +1,9 @@ # Apache ModSecurity rules for FIXATION SecRuleEngine On -SecRule REQUEST_URI "\(\?i:\.cookieb\.\*\?;W\*\?\(\?:expires\|domain\)W\*\?=\|bhttp\-equivW\+set\-cookieb\)" "id:1016,phase:1,deny,status:403,log,msg:'fixation attack detected'" -SecRule REQUEST_URI "!@endsWith\ %\{request_headers\.host\}" "id:1019,phase:1,deny,status:403,log,msg:'fixation attack detected'" -SecRule REQUEST_URI "\^\(\?:ht\|f\)tps\?://\(\.\*\?\)/" "id:1018,phase:1,deny,status:403,log,msg:'fixation attack detected'" -SecRule REQUEST_URI "\^\(\?:jsessionid\|aspsessionid\|asp\.net_sessionid\|phpsession\|phpsessid\|weblogicsession\|session_id\|session\-id\|cfid\|cftoken\|cfsid\|jservsession\|jwsession\)\$" "id:1017,phase:1,deny,status:403,log,msg:'fixation attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1021,phase:1,deny,status:403,log,msg:'fixation attack detected'" -SecRule REQUEST_URI "\^\(\?:jsessionid\|aspsessionid\|asp\.net_sessionid\|phpsession\|phpsessid\|weblogicsession\|session_id\|session\-id\|cfid\|cftoken\|cfsid\|jservsession\|jwsession\)\$" "id:1020,phase:1,deny,status:403,log,msg:'fixation attack detected'" +SecRule REQUEST_URI "\^\(\?:jsessionid\|aspsessionid\|asp\.net_sessionid\|phpsession\|phpsessid\|weblogicsession\|session_id\|session\-id\|cfid\|cftoken\|cfsid\|jservsession\|jwsession\)\$" "id:1108,phase:1,deny,status:403,log,msg:'fixation attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1109,phase:1,deny,status:403,log,msg:'fixation attack detected'" +SecRule REQUEST_URI "!@endsWith\ %\{request_headers\.host\}" "id:1107,phase:1,deny,status:403,log,msg:'fixation attack detected'" +SecRule REQUEST_URI "\(\?i:\.cookieb\.\*\?;W\*\?\(\?:expires\|domain\)W\*\?=\|bhttp\-equivW\+set\-cookieb\)" "id:1104,phase:1,deny,status:403,log,msg:'fixation attack detected'" +SecRule REQUEST_URI "\^\(\?:jsessionid\|aspsessionid\|asp\.net_sessionid\|phpsession\|phpsessid\|weblogicsession\|session_id\|session\-id\|cfid\|cftoken\|cfsid\|jservsession\|jwsession\)\$" "id:1105,phase:1,deny,status:403,log,msg:'fixation attack detected'" +SecRule REQUEST_URI "\^\(\?:ht\|f\)tps\?://\(\.\*\?\)/" "id:1106,phase:1,deny,status:403,log,msg:'fixation attack detected'" diff --git a/waf_patterns/apache/generic.conf b/waf_patterns/apache/generic.conf index 695b630..7379f3b 100644 --- a/waf_patterns/apache/generic.conf +++ b/waf_patterns/apache/generic.conf @@ -1,6 +1,6 @@ # Apache ModSecurity rules for GENERIC SecRuleEngine On -SecRule REQUEST_URI "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\|\{\.\*\}\|\[\.\*\]\|"\[\^"\]\+"\|'\[\^'\]\+'\|`\[\^`\]\+`\)\)\.\*\)" "id:1202,phase:1,deny,status:403,log,msg:'generic attack detected'" -SecRule REQUEST_URI "\[s\*constructors\*\]" "id:1203,phase:1,deny,status:403,log,msg:'generic attack detected'" -SecRule REQUEST_URI "@\{\.\*\}" "id:1204,phase:1,deny,status:403,log,msg:'generic attack detected'" +SecRule REQUEST_URI "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\|\{\.\*\}\|\[\.\*\]\|"\[\^"\]\+"\|'\[\^'\]\+'\|`\[\^`\]\+`\)\)\.\*\)" "id:1101,phase:1,deny,status:403,log,msg:'generic attack detected'" +SecRule REQUEST_URI "\[s\*constructors\*\]" "id:1102,phase:1,deny,status:403,log,msg:'generic attack detected'" +SecRule REQUEST_URI "@\{\.\*\}" "id:1103,phase:1,deny,status:403,log,msg:'generic attack detected'" diff --git a/waf_patterns/apache/iis.conf b/waf_patterns/apache/iis.conf index 30a0201..c38e7ac 100644 --- a/waf_patterns/apache/iis.conf +++ b/waf_patterns/apache/iis.conf @@ -1,7 +1,7 @@ # Apache ModSecurity rules for IIS SecRuleEngine On -SecRule REQUEST_URI "bServer\ Error\ in\.\{0,50\}\?bApplicationb" "id:1321,phase:1,deny,status:403,log,msg:'iis attack detected'" -SecRule REQUEST_URI "\(\?: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\)" "id:1319,phase:1,deny,status:403,log,msg:'iis attack detected'" -SecRule REQUEST_URI "\[a\-z\]:x5cinetpubb" "id:1318,phase:1,deny,status:403,log,msg:'iis attack detected'" -SecRule REQUEST_URI "!@rx\ \^404\$" "id:1320,phase:1,deny,status:403,log,msg:'iis attack detected'" +SecRule REQUEST_URI "\[a\-z\]:x5cinetpubb" "id:1291,phase:1,deny,status:403,log,msg:'iis attack detected'" +SecRule REQUEST_URI "!@rx\ \^404\$" "id:1293,phase:1,deny,status:403,log,msg:'iis attack detected'" +SecRule REQUEST_URI "bServer\ Error\ in\.\{0,50\}\?bApplicationb" "id:1294,phase:1,deny,status:403,log,msg:'iis attack detected'" +SecRule REQUEST_URI "\(\?: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\)" "id:1292,phase:1,deny,status:403,log,msg:'iis attack detected'" diff --git a/waf_patterns/apache/initialization.conf b/waf_patterns/apache/initialization.conf index 4463042..2bd5e2a 100644 --- a/waf_patterns/apache/initialization.conf +++ b/waf_patterns/apache/initialization.conf @@ -1,31 +1,31 @@ # Apache ModSecurity rules for INITIALIZATION SecRuleEngine On -SecRule REQUEST_URI "!@rx\ \(\?:URLENCODED\|MULTIPART\|XML\|JSON\)" "id:1131,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1108,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "\^\.\*\$" "id:1130,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1111,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1117,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1114,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1120,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1123,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1126,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "\^\[a\-f\]\*\(\[0\-9\]\)\[a\-f\]\*\(\[0\-9\]\)" "id:1135,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "!@rx\ \(\?:URLENCODED\|MULTIPART\|XML\|JSON\)" "id:1133,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1110,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1113,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1116,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1122,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1119,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1125,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 100" "id:1134,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1128,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1109,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1115,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 1" "id:1129,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1112,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1118,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 1" "id:1132,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1121,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1127,phase:1,deny,status:403,log,msg:'initialization attack detected'" -SecRule REQUEST_URI "@eq\ 0" "id:1124,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1020,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1017,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "!@rx\ \(\?:URLENCODED\|MULTIPART\|XML\|JSON\)" "id:1025,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 100" "id:1026,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1001,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1004,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1007,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1013,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1010,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1016,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1019,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "\^\[a\-f\]\*\(\[0\-9\]\)\[a\-f\]\*\(\[0\-9\]\)" "id:1027,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "\^\.\*\$" "id:1022,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1000,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1006,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1003,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1009,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1012,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1018,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1015,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "!@rx\ \(\?:URLENCODED\|MULTIPART\|XML\|JSON\)" "id:1023,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 1" "id:1024,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1002,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1008,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 1" "id:1021,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1005,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1011,phase:1,deny,status:403,log,msg:'initialization attack detected'" +SecRule REQUEST_URI "@eq\ 0" "id:1014,phase:1,deny,status:403,log,msg:'initialization attack detected'" diff --git a/waf_patterns/apache/java.conf b/waf_patterns/apache/java.conf index 9a98a32..d20b18c 100644 --- a/waf_patterns/apache/java.conf +++ b/waf_patterns/apache/java.conf @@ -1,18 +1,18 @@ # Apache ModSecurity rules for JAVA SecRuleEngine On -SecRule REQUEST_URI "\(\?i\)\(\?:\$\|\$\?\)\(\?:\{\|\&l\(\?:brace\|cub\);\?\)" "id:1245,phase:1,deny,status:403,log,msg:'java attack detected'" -SecRule REQUEST_URI "\(\?:unmarshaller\|base64data\|java\.\)" "id:1233,phase:1,deny,status:403,log,msg:'java attack detected'" -SecRule REQUEST_URI "\(\?:class\.module\.classLoader\.resources\.context\.parent\.pipeline\|springframework\.context\.support\.FileSystemXmlApplicationContext\)" "id:1243,phase:1,deny,status:403,log,msg:'java attack detected'" -SecRule REQUEST_URI "\(\?: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\)" "id:1244,phase:1,deny,status:403,log,msg:'java attack detected'" -SecRule REQUEST_URI "\.\*\.\(\?:jsp\|jspx\)\.\*\$" "id:1236,phase:1,deny,status:403,log,msg:'java attack detected'" -SecRule REQUEST_URI "\(\?:runtime\|processbuilder\)" "id:1232,phase:1,deny,status:403,log,msg:'java attack detected'" -SecRule REQUEST_URI "\(\?:clonetransformer\|forclosure\|instantiatefactory\|instantiatetransformer\|invokertransformer\|prototypeclonefactory\|prototypeserializationfactory\|whileclosure\|getproperty\|filewriter\|xmldecoder\)" "id:1241,phase:1,deny,status:403,log,msg:'java attack detected'" -SecRule REQUEST_URI "\(\?:runtime\|processbuilder\)" "id:1235,phase:1,deny,status:403,log,msg:'java attack detected'" -SecRule REQUEST_URI "java\.lang\.\(\?:runtime\|processbuilder\)" "id:1231,phase:1,deny,status:403,log,msg:'java attack detected'" -SecRule REQUEST_URI "\(\?i\)\(\?:\$\|\$\?\)\(\?:\{\|\&l\(\?:brace\|cub\);\?\)\(\?:\[\^\}\]\*\(\?:\$\|\$\?\)\(\?:\{\|\&l\(\?:brace\|cub\);\?\)\|jndi\|ctx\)" "id:1238,phase:1,deny,status:403,log,msg:'java attack detected'" -SecRule REQUEST_URI "\(\?i\)\(\?:\$\|\$\?\)\(\?:\{\|\&l\(\?:brace\|cub\);\?\)\(\?:\[\^\}\]\{0,15\}\(\?:\$\|\$\?\)\(\?:\{\|\&l\(\?:brace\|cub\);\?\)\|jndi\|ctx\)" "id:1237,phase:1,deny,status:403,log,msg:'java attack detected'" -SecRule REQUEST_URI "xacxedx00x05" "id:1239,phase:1,deny,status:403,log,msg:'java attack detected'" -SecRule REQUEST_URI "\(\?:clonetransformer\|forclosure\|instantiatefactory\|instantiatetransformer\|invokertransformer\|prototypeclonefactory\|prototypeserializationfactory\|whileclosure\|getproperty\|filewriter\|xmldecoder\)" "id:1234,phase:1,deny,status:403,log,msg:'java attack detected'" -SecRule REQUEST_URI "javab\.\+\(\?:runtime\|processbuilder\)" "id:1242,phase:1,deny,status:403,log,msg:'java attack detected'" -SecRule REQUEST_URI "\(\?:rO0ABQ\|KztAAU\|Cs7QAF\)" "id:1240,phase:1,deny,status:403,log,msg:'java attack detected'" +SecRule REQUEST_URI "java\.lang\.\(\?:runtime\|processbuilder\)" "id:1070,phase:1,deny,status:403,log,msg:'java attack detected'" +SecRule REQUEST_URI "xacxedx00x05" "id:1078,phase:1,deny,status:403,log,msg:'java attack detected'" +SecRule REQUEST_URI "\(\?:clonetransformer\|forclosure\|instantiatefactory\|instantiatetransformer\|invokertransformer\|prototypeclonefactory\|prototypeserializationfactory\|whileclosure\|getproperty\|filewriter\|xmldecoder\)" "id:1073,phase:1,deny,status:403,log,msg:'java attack detected'" +SecRule REQUEST_URI "javab\.\+\(\?:runtime\|processbuilder\)" "id:1081,phase:1,deny,status:403,log,msg:'java attack detected'" +SecRule REQUEST_URI "\.\*\.\(\?:jsp\|jspx\)\.\*\$" "id:1075,phase:1,deny,status:403,log,msg:'java attack detected'" +SecRule REQUEST_URI "\(\?:unmarshaller\|base64data\|java\.\)" "id:1072,phase:1,deny,status:403,log,msg:'java attack detected'" +SecRule REQUEST_URI "\(\?i\)\(\?:\$\|\$\?\)\(\?:\{\|\&l\(\?:brace\|cub\);\?\)" "id:1084,phase:1,deny,status:403,log,msg:'java attack detected'" +SecRule REQUEST_URI "\(\?:runtime\|processbuilder\)" "id:1071,phase:1,deny,status:403,log,msg:'java attack detected'" +SecRule REQUEST_URI "\(\?i\)\(\?:\$\|\$\?\)\(\?:\{\|\&l\(\?:brace\|cub\);\?\)\(\?:\[\^\}\]\{0,15\}\(\?:\$\|\$\?\)\(\?:\{\|\&l\(\?:brace\|cub\);\?\)\|jndi\|ctx\)" "id:1076,phase:1,deny,status:403,log,msg:'java attack detected'" +SecRule REQUEST_URI "\(\?i\)\(\?:\$\|\$\?\)\(\?:\{\|\&l\(\?:brace\|cub\);\?\)\(\?:\[\^\}\]\*\(\?:\$\|\$\?\)\(\?:\{\|\&l\(\?:brace\|cub\);\?\)\|jndi\|ctx\)" "id:1077,phase:1,deny,status:403,log,msg:'java attack detected'" +SecRule REQUEST_URI "\(\?:runtime\|processbuilder\)" "id:1074,phase:1,deny,status:403,log,msg:'java attack detected'" +SecRule REQUEST_URI "\(\?:rO0ABQ\|KztAAU\|Cs7QAF\)" "id:1079,phase:1,deny,status:403,log,msg:'java attack detected'" +SecRule REQUEST_URI "\(\?:class\.module\.classLoader\.resources\.context\.parent\.pipeline\|springframework\.context\.support\.FileSystemXmlApplicationContext\)" "id:1082,phase:1,deny,status:403,log,msg:'java attack detected'" +SecRule REQUEST_URI "\(\?: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\)" "id:1083,phase:1,deny,status:403,log,msg:'java attack detected'" +SecRule REQUEST_URI "\(\?:clonetransformer\|forclosure\|instantiatefactory\|instantiatetransformer\|invokertransformer\|prototypeclonefactory\|prototypeserializationfactory\|whileclosure\|getproperty\|filewriter\|xmldecoder\)" "id:1080,phase:1,deny,status:403,log,msg:'java attack detected'" diff --git a/waf_patterns/apache/leakages.conf b/waf_patterns/apache/leakages.conf index e106b71..d322c89 100644 --- a/waf_patterns/apache/leakages.conf +++ b/waf_patterns/apache/leakages.conf @@ -1,6 +1,6 @@ # Apache ModSecurity rules for LEAKAGES SecRuleEngine On -SecRule REQUEST_URI "\(\?:<\(\?:TITLE>Index\ of\.\*\?Index\ of\.\*\?Index\ of\|>\[To\ Parent\ Directory\]
\)" "id:1165,phase:1,deny,status:403,log,msg:'leakages attack detected'" -SecRule REQUEST_URI "\^5d\{2\}\$" "id:1167,phase:1,deny,status:403,log,msg:'leakages attack detected'" -SecRule REQUEST_URI "\^\#!s\?/" "id:1166,phase:1,deny,status:403,log,msg:'leakages attack detected'" +SecRule REQUEST_URI "\^\#!s\?/" "id:1156,phase:1,deny,status:403,log,msg:'leakages attack detected'" +SecRule REQUEST_URI "\(\?:<\(\?:TITLE>Index\ of\.\*\?Index\ of\.\*\?Index\ of\|>\[To\ Parent\ Directory\]
\)" "id:1155,phase:1,deny,status:403,log,msg:'leakages attack detected'" +SecRule REQUEST_URI "\^5d\{2\}\$" "id:1157,phase:1,deny,status:403,log,msg:'leakages attack detected'" diff --git a/waf_patterns/apache/lfi.conf b/waf_patterns/apache/lfi.conf index 12ab42b..65d3dec 100644 --- a/waf_patterns/apache/lfi.conf +++ b/waf_patterns/apache/lfi.conf @@ -1,4 +1,4 @@ # Apache ModSecurity rules for LFI SecRuleEngine On -SecRule REQUEST_URI "\(\?:\(\?:\^\|\[x5c/;\]\)\.\{2,3\}\[x5c/;\]\|\[x5c/;\]\.\{2,3\}\(\?:\[x5c/;\]\|\$\)\)" "id:1000,phase:1,deny,status:403,log,msg:'lfi attack detected'" +SecRule REQUEST_URI "\(\?:\(\?:\^\|\[x5c/;\]\)\.\{2,3\}\[x5c/;\]\|\[x5c/;\]\.\{2,3\}\(\?:\[x5c/;\]\|\$\)\)" "id:1098,phase:1,deny,status:403,log,msg:'lfi attack detected'" diff --git a/waf_patterns/apache/php.conf b/waf_patterns/apache/php.conf index 76b2d98..7765a70 100644 --- a/waf_patterns/apache/php.conf +++ b/waf_patterns/apache/php.conf @@ -1,14 +1,14 @@ # Apache ModSecurity rules for PHP SecRuleEngine On -SecRule REQUEST_URI "AUTH_TYPE\|HTTP_\(\?:ACCEPT\(\?:_\(\?:CHARSET\|ENCODING\|LANGUAGE\)\)\?\|CONNECTION\|\(\?:HOS\|USER_AGEN\)T\|KEEP_ALIVE\|\(\?:REFERE\|X_FORWARDED_FO\)R\)\|ORIG_PATH_INFO\|PATH_\(\?:INFO\|TRANSLATED\)\|QUERY_STRING\|REQUEST_URI" "id:1252,phase:1,deny,status:403,log,msg:'php attack detected'" -SecRule REQUEST_URI "\.\*\.ph\(\?:pd\*\|tml\|ar\|ps\|t\|pt\)\.\*\$" "id:1247,phase:1,deny,status:403,log,msg:'php attack detected'" -SecRule REQUEST_URI "\(\?i\)<\?\(\?:=\|php\)\?s\+" "id:1201,phase:1,deny,status:403,log,msg:'php attack detected'" -SecRule REQUEST_URI "\.\*\.\(\?:phpd\*\|phtml\)\.\.\*\$" "id:1253,phase:1,deny,status:403,log,msg:'php attack detected'" -SecRule REQUEST_URI "\(\?:bzip2\|expect\|glob\|ogg\|\(\?:ph\|r\)ar\|ssh2\(\?:\.\(\?:s\(\?:hell\|\(\?:ft\|c\)p\)\|exec\|tunnel\)\)\?\|z\(\?:ip\|lib\)\)://" "id:1250,phase:1,deny,status:403,log,msg:'php attack detected'" -SecRule REQUEST_URI "@pm\ =" "id:1248,phase:1,deny,status:403,log,msg:'php attack detected'" -SecRule REQUEST_URI "\(\?i\)php://\(\?:std\(\?:in\|out\|err\)\|\(\?:in\|out\)put\|fd\|memory\|temp\|filter\)" "id:1249,phase:1,deny,status:403,log,msg:'php attack detected'" -SecRule REQUEST_URI "@pm\ \?>" "id:1254,phase:1,deny,status:403,log,msg:'php attack detected'" -SecRule REQUEST_URI "\(\?:<\?\(\?:\[\^x\]\|x\[\^m\]\|xm\[\^l\]\|xml\[\^s\]\|xml\$\|\$\)\|<\?php\|\[\(\?:/\|x5c\)\?php\]\)" "id:1246,phase:1,deny,status:403,log,msg:'php attack detected'" -SecRule REQUEST_URI "\[oOcC\]:d\+:"\.\+\?":d\+:\{\.\*\}" "id:1251,phase:1,deny,status:403,log,msg:'php attack detected'" -SecRule REQUEST_URI "\(\?: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" "id:1200,phase:1,deny,status:403,log,msg:'php attack detected'" +SecRule REQUEST_URI "\(\?i\)php://\(\?:std\(\?:in\|out\|err\)\|\(\?:in\|out\)put\|fd\|memory\|temp\|filter\)" "id:1113,phase:1,deny,status:403,log,msg:'php attack detected'" +SecRule REQUEST_URI "\(\?: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" "id:1158,phase:1,deny,status:403,log,msg:'php attack detected'" +SecRule REQUEST_URI "\[oOcC\]:d\+:"\.\+\?":d\+:\{\.\*\}" "id:1115,phase:1,deny,status:403,log,msg:'php attack detected'" +SecRule REQUEST_URI "\.\*\.ph\(\?:pd\*\|tml\|ar\|ps\|t\|pt\)\.\*\$" "id:1111,phase:1,deny,status:403,log,msg:'php attack detected'" +SecRule REQUEST_URI "\(\?:bzip2\|expect\|glob\|ogg\|\(\?:ph\|r\)ar\|ssh2\(\?:\.\(\?:s\(\?:hell\|\(\?:ft\|c\)p\)\|exec\|tunnel\)\)\?\|z\(\?:ip\|lib\)\)://" "id:1114,phase:1,deny,status:403,log,msg:'php attack detected'" +SecRule REQUEST_URI "AUTH_TYPE\|HTTP_\(\?:ACCEPT\(\?:_\(\?:CHARSET\|ENCODING\|LANGUAGE\)\)\?\|CONNECTION\|\(\?:HOS\|USER_AGEN\)T\|KEEP_ALIVE\|\(\?:REFERE\|X_FORWARDED_FO\)R\)\|ORIG_PATH_INFO\|PATH_\(\?:INFO\|TRANSLATED\)\|QUERY_STRING\|REQUEST_URI" "id:1116,phase:1,deny,status:403,log,msg:'php attack detected'" +SecRule REQUEST_URI "\(\?:<\?\(\?:\[\^x\]\|x\[\^m\]\|xm\[\^l\]\|xml\[\^s\]\|xml\$\|\$\)\|<\?php\|\[\(\?:/\|x5c\)\?php\]\)" "id:1110,phase:1,deny,status:403,log,msg:'php attack detected'" +SecRule REQUEST_URI "\.\*\.\(\?:phpd\*\|phtml\)\.\.\*\$" "id:1117,phase:1,deny,status:403,log,msg:'php attack detected'" +SecRule REQUEST_URI "@pm\ \?>" "id:1118,phase:1,deny,status:403,log,msg:'php attack detected'" +SecRule REQUEST_URI "@pm\ =" "id:1112,phase:1,deny,status:403,log,msg:'php attack detected'" +SecRule REQUEST_URI "\(\?i\)<\?\(\?:=\|php\)\?s\+" "id:1159,phase:1,deny,status:403,log,msg:'php attack detected'" diff --git a/waf_patterns/apache/rce.conf b/waf_patterns/apache/rce.conf index 546e372..3641c37 100644 --- a/waf_patterns/apache/rce.conf +++ b/waf_patterns/apache/rce.conf @@ -1,29 +1,29 @@ # Apache ModSecurity rules for RCE SecRuleEngine On -SecRule REQUEST_URI "/\(\?:\[\?\*\]\+\[a\-z/\]\+\|\[a\-z/\]\+\[\?\*\]\+\)" "id:1160,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "\(\?:\$\(\?:\(\(\?:\(\.\*\)\|\.\*\)\)\|\{\.\*\}\)\|\[<>\]\(\.\*\)\|\[!\?\.\+\]\)" "id:1146,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "rn\(\?s:\.\)\*\?b\(\?:DATA\|QUIT\|HELP\(\?:\ \.\{1,255\}\)\?\)" "id:1161,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "s" "id:1149,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "\^\(s\*\)s\+\{" "id:1144,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "s" "id:1152,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "\(\?is\)rn\.\*\?b\(\?:\(\?:LIST\|TOP\ \[0\-9\]\+\)\(\?:\ \[0\-9\]\+\)\?\|U\(\?:SER\ \.\+\?\|IDL\(\?:\ \[0\-9\]\+\)\?\)\|PASS\ \.\+\?\|\(\?:RETR\|DELE\)\ \[0\-9\]\+\?\|A\(\?:POP\ \[0\-9A\-Z_a\-z\]\+\ \[0\-9a\-f\]\{32\}\|UTH\ \[\-0\-9A\-Z_\]\{1,20\}\ \(\?:\(\?:\[\+/\-9A\-Z_a\-z\]\{4\}\)\*\(\?:\[\+/\-9A\-Z_a\-z\]\{2\}=\|\[\+/\-9A\-Z_a\-z\]\{3\}\)\)\?=\)\)" "id:1159,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "\(\?is\)rn\[0\-9A\-Z_a\-z\]\{1,50\}b\ \(\?:C\(\?:\(\?:REATE\|OPY\ \[\*,0\-:\]\+\)\ \["\-\#%\-\&\*\-\-9A\-Zx5c_a\-z\]\+\|APABILITY\|HECK\|LOSE\)\|DELETE\ \["\-\#%\-\&\*\-\-\.0\-9A\-Zx5c_a\-z\]\+\|EX\(\?:AMINE\ \["\-\#%\-\&\*\-\-\.0\-9A\-Zx5c_a\-z\]\+\|PUNGE\)\|FETCH\ \[\*,0\-:\]\+\|L\(\?:IST\ \["\-\#\*\-\-9A\-Zx5c_a\-z\~\]\+\?\ \["\-\#%\-\&\*\-\-9A\-Zx5c_a\-z\]\+\|OG\(\?:IN\ \[\-\-\.0\-9@_a\-z\]\{1,40\}\ \.\*\?\|OUT\)\)\|RENAME\ \["\-\#%\-\&\*\-\-9A\-Zx5c_a\-z\]\+\?\ \["\-\#%\-\&\*\-\-9A\-Zx5c_a\-z\]\+\|S\(\?:E\(\?:LECT\ \["\-\#%\-\&\*\-\-9A\-Zx5c_a\-z\]\+\|ARCH\(\?:\ CHARSET\ \[\-\-\.0\-9A\-Z_a\-z\]\{1,40\}\)\?\ \(\?:\(KEYWORD\ x5c\)\?\(\?:A\(\?:LL\|NSWERED\)\|BCC\|D\(\?:ELETED\|RAFT\)\|\(\?:FLAGGE\|OL\)D\|RECENT\|SEEN\|UN\(\?:\(\?:ANSWER\|FLAGG\)ED\|D\(\?:ELETED\|RAFT\)\|SEEN\)\|NEW\)\|\(\?:BODY\|CC\|FROM\|HEADER\ \.\{1,100\}\|NOT\|OR\ \.\{1,255\}\|T\(\?:EXT\|O\)\)\ \.\{1,255\}\|LARGER\ \[0\-9\]\{1,20\}\|\[\*,0\-:\]\+\|\(\?:BEFORE\|ON\|S\(\?:ENT\(\?:\(\?:BEFOR\|SINC\)E\|ON\)\|INCE\)\)\ "\?\[0\-9\]\{1,2\}\-\[0\-9A\-Z_a\-z\]\{3\}\-\[0\-9\]\{4\}"\?\|S\(\?:MALLER\ \[0\-9\]\{1,20\}\|UBJECT\ \.\{1,255\}\)\|U\(\?:ID\ \[\*,0\-:\]\+\?\|NKEYWORD\ x5c\(Seen\|\(\?:Answer\|Flagg\)ed\|D\(\?:eleted\|raft\)\|Recent\)\)\)\)\|T\(\?:ORE\ \[\*,0\-:\]\+\?\ \[\+\-\]\?FLAGS\(\?:\.SILENT\)\?\ \(\?:\(x5c\[a\-z\]\{1,20\}\)\)\?\|ARTTLS\)\|UBSCRIBE\ \["\-\#%\-\&\*\-\-9A\-Zx5c_a\-z\]\+\)\|UN\(\?:SUBSCRIBE\ \["\-\#%\-\&\*\-\-9A\-Zx5c_a\-z\]\+\|AUTHENTICATE\)\|NOOP\)" "id:1162,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "s" "id:1155,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "!\-d" "id:1142,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "\^\[\^\.\]\+\.\[\^;\?\]\+\[;\?\]\(\.\*\(\['\*\?x5c`\]\[\^n/\]\+/\|/\[\^/\]\+\?\['\*\?x5c`\]\|\$\[!\#\-\$\(\*\-0\-9\?\-\[_a\-\{\]\)\)" "id:1150,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "\^\[\^\.\]\*\?\(\?:\['\*\?x5c`\]\[\^n/\]\+/\|/\[\^/\]\+\?\['\*\?x5c`\]\|\$\[!\#\-\$\(\*\-0\-9\?\-\[_a\-\{\]\)" "id:1153,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "ba\["'\)\[\-x5c\]\*\(\?:\(\?:\(\?:\|\|\|\&\&\)\[sv\]\*\)\?\$\[!\#\(\*\-0\-9\?\-@_a\-\{\]\*\)\?x5c\?l\["'\)\[\-x5c\]\*\(\?:\(\?:\(\?:\|\|\|\&\&\)\[sv\]\*\)\?\$\[!\#\(\*\-0\-9\?\-@_a\-\{\]\*\)\?x5c\?i\["'\)\[\-x5c\]\*\(\?:\(\?:\(\?:\|\|\|\&\&\)\[sv\]\*\)\?\$\[!\#\(\*\-0\-9\?\-@_a\-\{\]\*\)\?x5c\?a\["'\)\[\-x5c\]\*\(\?:\(\?:\(\?:\|\|\|\&\&\)\[sv\]\*\)\?\$\[!\#\(\*\-0\-9\?\-@_a\-\{\]\*\)\?x5c\?sb\[sv\]\+\[!\-"%',0\-9@\-Z_a\-z\]\+=\[\^sv\]" "id:1145,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "\^\(s\*\)s\+\{" "id:1143,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "!\(\?:d\|!\)" "id:1164,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "b\(\?:for\(\?:/\[dflr\]\.\*\)\?\ %\+\[\^\ \]\+\ in\(\.\*\)\[sv\]\?do\|if\(\?:/i\)\?\(\?:\ not\)\?\(\?:\ \(\?:e\(\?:xist\|rrorlevel\)\|defined\|cmdextversion\)b\|\[\ \(\]\.\*\(\?:b\(\?:g\(\?:eq\|tr\)\|equ\|neq\|l\(\?:eq\|ss\)\)b\|==\)\)\)" "id:1140,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "!@rx\ \[0\-9\]s\*'s\*\[0\-9\]" "id:1141,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "rn\(\?s:\.\)\*\?b\(\?:\(\?i:E\)\(\?:HLO\ \[\-\-\.A\-Za\-zx17fx212a\]\{1,255\}\|XPN\ \.\{1,64\}\)\|HELO\ \[\-\-\.A\-Za\-zx17fx212a\]\{1,255\}\|MAIL\ FROM:<\.\{1,64\}\(\?i:@\)\.\{1,255\}\(\?i:>\)\|\(\?i:R\)\(\?:CPT\ TO:\(\?:\(\?i:<\)\.\{1,64\}\(\?i:@\)\.\{1,255\}\(\?i:>\)\|\(\?i:\ \)\)\?\(\?i:<\)\.\{1,64\}\(\?i:>\)\|SETb\)\|VRFY\ \.\{1,64\}\(\?:\ <\.\{1,64\}\(\?i:@\)\.\{1,255\}\(\?i:>\)\|\(\?i:@\)\.\{1,255\}\)\|AUTH\ \[\-0\-9A\-Z_a\-zx17fx212a\]\{1,20\}\(\?i:\ \)\(\?:\(\?:\[\+/\-9A\-Z_a\-zx17fx212a\]\{4\}\)\*\(\?:\[\+/\-9A\-Z_a\-zx17fx212a\]\{2\}\(\?i:=\)\|\[\+/\-9A\-Z_a\-zx17fx212a\]\{3\}\)\)\?\(\?i:=\)\|STARTTLSb\|NOOPb\(\?:\(\?i:\ \)\.\{1,255\}\)\?\)" "id:1158,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "rn\(\?s:\.\)\*\?b\(\?:\(\?:QUI\|STA\|RSE\)\(\?i:T\)\|NOOP\|CAPA\)" "id:1163,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "!@rx\ \[0\-9\]s\*'s\*\[0\-9\]" "id:1156,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "\$\(\?:\(\(\?:\.\*\|\(\.\*\)\)\)\|\{\.\*\}\)\|\[<>\]\(\.\*\)\|/\[0\-9A\-Z_a\-z\]\*\[!\?\.\+\]" "id:1139,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "/" "id:1148,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "/" "id:1151,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "/" "id:1154,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI ";\[sv\]\*\.\[sv\]\*\["'\]\?\(\?:a\(\?:rchive\|uth\)\|b\(\?:a\(\?:ckup\|il\)\|inary\)\|c\(\?:d\|h\(\?:anges\|eck\)\|lone\|onnection\)\|d\(\?:atabases\|b\(\?:config\|info\)\|ump\)\|e\(\?:cho\|qp\|x\(\?:cel\|it\|p\(\?:ert\|lain\)\)\)\|f\(\?:ilectrl\|ullschema\)\|he\(\?:aders\|lp\)\|i\(\?:mpo\(\?:rt\|ster\)\|ndexes\|otrace\)\|l\(\?:i\(\?:mi\|n\)t\|o\(\?:ad\|g\)\)\|\(\?:mod\|n\(\?:onc\|ullvalu\)\|unmodul\)e\|o\(\?:nce\|pen\|utput\)\|p\(\?:arameter\|r\(\?:int\|o\(\?:gress\|mpt\)\)\)\|quit\|re\(\?:ad\|cover\|store\)\|s\(\?:ave\|c\(\?:anstats\|hema\)\|e\(\?:lftest\|parator\|ssion\)\|h\(\?:a3sum\|ell\|ow\)\?\|tats\|ystem\)\|t\(\?:ables\|estc\(\?:ase\|trl\)\|ime\(\?:out\|r\)\|race\)\|vfs\(\?:info\|list\|name\)\|width\)" "id:1157,phase:1,deny,status:403,log,msg:'rce attack detected'" -SecRule REQUEST_URI "\['\*\?x5c`\]\[\^n/\]\+/\|/\[\^/\]\+\?\['\*\?x5c`\]\|\$\[!\#\-\$\(\*\-0\-9\?\-\[_a\-\{\]" "id:1147,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "\^\(s\*\)s\+\{" "id:1269,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "\(\?is\)rn\.\*\?b\(\?:\(\?:LIST\|TOP\ \[0\-9\]\+\)\(\?:\ \[0\-9\]\+\)\?\|U\(\?:SER\ \.\+\?\|IDL\(\?:\ \[0\-9\]\+\)\?\)\|PASS\ \.\+\?\|\(\?:RETR\|DELE\)\ \[0\-9\]\+\?\|A\(\?:POP\ \[0\-9A\-Z_a\-z\]\+\ \[0\-9a\-f\]\{32\}\|UTH\ \[\-0\-9A\-Z_\]\{1,20\}\ \(\?:\(\?:\[\+/\-9A\-Z_a\-z\]\{4\}\)\*\(\?:\[\+/\-9A\-Z_a\-z\]\{2\}=\|\[\+/\-9A\-Z_a\-z\]\{3\}\)\)\?=\)\)" "id:1285,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "rn\(\?s:\.\)\*\?b\(\?:DATA\|QUIT\|HELP\(\?:\ \.\{1,255\}\)\?\)" "id:1287,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "\^\[\^\.\]\*\?\(\?:\['\*\?x5c`\]\[\^n/\]\+/\|/\[\^/\]\+\?\['\*\?x5c`\]\|\$\[!\#\-\$\(\*\-0\-9\?\-\[_a\-\{\]\)" "id:1279,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI ";\[sv\]\*\.\[sv\]\*\["'\]\?\(\?:a\(\?:rchive\|uth\)\|b\(\?:a\(\?:ckup\|il\)\|inary\)\|c\(\?:d\|h\(\?:anges\|eck\)\|lone\|onnection\)\|d\(\?:atabases\|b\(\?:config\|info\)\|ump\)\|e\(\?:cho\|qp\|x\(\?:cel\|it\|p\(\?:ert\|lain\)\)\)\|f\(\?:ilectrl\|ullschema\)\|he\(\?:aders\|lp\)\|i\(\?:mpo\(\?:rt\|ster\)\|ndexes\|otrace\)\|l\(\?:i\(\?:mi\|n\)t\|o\(\?:ad\|g\)\)\|\(\?:mod\|n\(\?:onc\|ullvalu\)\|unmodul\)e\|o\(\?:nce\|pen\|utput\)\|p\(\?:arameter\|r\(\?:int\|o\(\?:gress\|mpt\)\)\)\|quit\|re\(\?:ad\|cover\|store\)\|s\(\?:ave\|c\(\?:anstats\|hema\)\|e\(\?:lftest\|parator\|ssion\)\|h\(\?:a3sum\|ell\|ow\)\?\|tats\|ystem\)\|t\(\?:ables\|estc\(\?:ase\|trl\)\|ime\(\?:out\|r\)\|race\)\|vfs\(\?:info\|list\|name\)\|width\)" "id:1283,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "rn\(\?s:\.\)\*\?b\(\?:\(\?i:E\)\(\?:HLO\ \[\-\-\.A\-Za\-zx17fx212a\]\{1,255\}\|XPN\ \.\{1,64\}\)\|HELO\ \[\-\-\.A\-Za\-zx17fx212a\]\{1,255\}\|MAIL\ FROM:<\.\{1,64\}\(\?i:@\)\.\{1,255\}\(\?i:>\)\|\(\?i:R\)\(\?:CPT\ TO:\(\?:\(\?i:<\)\.\{1,64\}\(\?i:@\)\.\{1,255\}\(\?i:>\)\|\(\?i:\ \)\)\?\(\?i:<\)\.\{1,64\}\(\?i:>\)\|SETb\)\|VRFY\ \.\{1,64\}\(\?:\ <\.\{1,64\}\(\?i:@\)\.\{1,255\}\(\?i:>\)\|\(\?i:@\)\.\{1,255\}\)\|AUTH\ \[\-0\-9A\-Z_a\-zx17fx212a\]\{1,20\}\(\?i:\ \)\(\?:\(\?:\[\+/\-9A\-Z_a\-zx17fx212a\]\{4\}\)\*\(\?:\[\+/\-9A\-Z_a\-zx17fx212a\]\{2\}\(\?i:=\)\|\[\+/\-9A\-Z_a\-zx17fx212a\]\{3\}\)\)\?\(\?i:=\)\|STARTTLSb\|NOOPb\(\?:\(\?i:\ \)\.\{1,255\}\)\?\)" "id:1284,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "\^\[\^\.\]\+\.\[\^;\?\]\+\[;\?\]\(\.\*\(\['\*\?x5c`\]\[\^n/\]\+/\|/\[\^/\]\+\?\['\*\?x5c`\]\|\$\[!\#\-\$\(\*\-0\-9\?\-\[_a\-\{\]\)\)" "id:1276,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "s" "id:1278,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "s" "id:1275,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "s" "id:1281,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "/\(\?:\[\?\*\]\+\[a\-z/\]\+\|\[a\-z/\]\+\[\?\*\]\+\)" "id:1286,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "/" "id:1274,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "/" "id:1280,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "\$\(\?:\(\(\?:\.\*\|\(\.\*\)\)\)\|\{\.\*\}\)\|\[<>\]\(\.\*\)\|/\[0\-9A\-Z_a\-z\]\*\[!\?\.\+\]" "id:1265,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "/" "id:1277,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "\(\?:\$\(\?:\(\(\?:\(\.\*\)\|\.\*\)\)\|\{\.\*\}\)\|\[<>\]\(\.\*\)\|\[!\?\.\+\]\)" "id:1272,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "ba\["'\)\[\-x5c\]\*\(\?:\(\?:\(\?:\|\|\|\&\&\)\[sv\]\*\)\?\$\[!\#\(\*\-0\-9\?\-@_a\-\{\]\*\)\?x5c\?l\["'\)\[\-x5c\]\*\(\?:\(\?:\(\?:\|\|\|\&\&\)\[sv\]\*\)\?\$\[!\#\(\*\-0\-9\?\-@_a\-\{\]\*\)\?x5c\?i\["'\)\[\-x5c\]\*\(\?:\(\?:\(\?:\|\|\|\&\&\)\[sv\]\*\)\?\$\[!\#\(\*\-0\-9\?\-@_a\-\{\]\*\)\?x5c\?a\["'\)\[\-x5c\]\*\(\?:\(\?:\(\?:\|\|\|\&\&\)\[sv\]\*\)\?\$\[!\#\(\*\-0\-9\?\-@_a\-\{\]\*\)\?x5c\?sb\[sv\]\+\[!\-"%',0\-9@\-Z_a\-z\]\+=\[\^sv\]" "id:1271,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "rn\(\?s:\.\)\*\?b\(\?:\(\?:QUI\|STA\|RSE\)\(\?i:T\)\|NOOP\|CAPA\)" "id:1289,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "\^\(s\*\)s\+\{" "id:1270,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "!\-d" "id:1268,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "!@rx\ \[0\-9\]s\*'s\*\[0\-9\]" "id:1267,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "!@rx\ \[0\-9\]s\*'s\*\[0\-9\]" "id:1282,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "b\(\?:for\(\?:/\[dflr\]\.\*\)\?\ %\+\[\^\ \]\+\ in\(\.\*\)\[sv\]\?do\|if\(\?:/i\)\?\(\?:\ not\)\?\(\?:\ \(\?:e\(\?:xist\|rrorlevel\)\|defined\|cmdextversion\)b\|\[\ \(\]\.\*\(\?:b\(\?:g\(\?:eq\|tr\)\|equ\|neq\|l\(\?:eq\|ss\)\)b\|==\)\)\)" "id:1266,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "\['\*\?x5c`\]\[\^n/\]\+/\|/\[\^/\]\+\?\['\*\?x5c`\]\|\$\[!\#\-\$\(\*\-0\-9\?\-\[_a\-\{\]" "id:1273,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "!\(\?:d\|!\)" "id:1290,phase:1,deny,status:403,log,msg:'rce attack detected'" +SecRule REQUEST_URI "\(\?is\)rn\[0\-9A\-Z_a\-z\]\{1,50\}b\ \(\?:C\(\?:\(\?:REATE\|OPY\ \[\*,0\-:\]\+\)\ \["\-\#%\-\&\*\-\-9A\-Zx5c_a\-z\]\+\|APABILITY\|HECK\|LOSE\)\|DELETE\ \["\-\#%\-\&\*\-\-\.0\-9A\-Zx5c_a\-z\]\+\|EX\(\?:AMINE\ \["\-\#%\-\&\*\-\-\.0\-9A\-Zx5c_a\-z\]\+\|PUNGE\)\|FETCH\ \[\*,0\-:\]\+\|L\(\?:IST\ \["\-\#\*\-\-9A\-Zx5c_a\-z\~\]\+\?\ \["\-\#%\-\&\*\-\-9A\-Zx5c_a\-z\]\+\|OG\(\?:IN\ \[\-\-\.0\-9@_a\-z\]\{1,40\}\ \.\*\?\|OUT\)\)\|RENAME\ \["\-\#%\-\&\*\-\-9A\-Zx5c_a\-z\]\+\?\ \["\-\#%\-\&\*\-\-9A\-Zx5c_a\-z\]\+\|S\(\?:E\(\?:LECT\ \["\-\#%\-\&\*\-\-9A\-Zx5c_a\-z\]\+\|ARCH\(\?:\ CHARSET\ \[\-\-\.0\-9A\-Z_a\-z\]\{1,40\}\)\?\ \(\?:\(KEYWORD\ x5c\)\?\(\?:A\(\?:LL\|NSWERED\)\|BCC\|D\(\?:ELETED\|RAFT\)\|\(\?:FLAGGE\|OL\)D\|RECENT\|SEEN\|UN\(\?:\(\?:ANSWER\|FLAGG\)ED\|D\(\?:ELETED\|RAFT\)\|SEEN\)\|NEW\)\|\(\?:BODY\|CC\|FROM\|HEADER\ \.\{1,100\}\|NOT\|OR\ \.\{1,255\}\|T\(\?:EXT\|O\)\)\ \.\{1,255\}\|LARGER\ \[0\-9\]\{1,20\}\|\[\*,0\-:\]\+\|\(\?:BEFORE\|ON\|S\(\?:ENT\(\?:\(\?:BEFOR\|SINC\)E\|ON\)\|INCE\)\)\ "\?\[0\-9\]\{1,2\}\-\[0\-9A\-Z_a\-z\]\{3\}\-\[0\-9\]\{4\}"\?\|S\(\?:MALLER\ \[0\-9\]\{1,20\}\|UBJECT\ \.\{1,255\}\)\|U\(\?:ID\ \[\*,0\-:\]\+\?\|NKEYWORD\ x5c\(Seen\|\(\?:Answer\|Flagg\)ed\|D\(\?:eleted\|raft\)\|Recent\)\)\)\)\|T\(\?:ORE\ \[\*,0\-:\]\+\?\ \[\+\-\]\?FLAGS\(\?:\.SILENT\)\?\ \(\?:\(x5c\[a\-z\]\{1,20\}\)\)\?\|ARTTLS\)\|UBSCRIBE\ \["\-\#%\-\&\*\-\-9A\-Zx5c_a\-z\]\+\)\|UN\(\?:SUBSCRIBE\ \["\-\#%\-\&\*\-\-9A\-Zx5c_a\-z\]\+\|AUTHENTICATE\)\|NOOP\)" "id:1288,phase:1,deny,status:403,log,msg:'rce attack detected'" diff --git a/waf_patterns/apache/rfi.conf b/waf_patterns/apache/rfi.conf index d46e317..ace2005 100644 --- a/waf_patterns/apache/rfi.conf +++ b/waf_patterns/apache/rfi.conf @@ -1,6 +1,6 @@ # Apache ModSecurity rules for RFI SecRuleEngine On -SecRule REQUEST_URI "!@endsWith\ \.%\{request_headers\.host\}" "id:1137,phase:1,deny,status:403,log,msg:'rfi attack detected'" -SecRule REQUEST_URI "\^\(\?i:file\|ftps\?\|https\?\)://\(\?:d\{1,3\}\.d\{1,3\}\.d\{1,3\}\.d\{1,3\}\)" "id:1136,phase:1,deny,status:403,log,msg:'rfi attack detected'" -SecRule REQUEST_URI "!@endsWith\ \.%\{request_headers\.host\}" "id:1138,phase:1,deny,status:403,log,msg:'rfi attack detected'" +SecRule REQUEST_URI "\^\(\?i:file\|ftps\?\|https\?\)://\(\?:d\{1,3\}\.d\{1,3\}\.d\{1,3\}\.d\{1,3\}\)" "id:1028,phase:1,deny,status:403,log,msg:'rfi attack detected'" +SecRule REQUEST_URI "!@endsWith\ \.%\{request_headers\.host\}" "id:1029,phase:1,deny,status:403,log,msg:'rfi attack detected'" +SecRule REQUEST_URI "!@endsWith\ \.%\{request_headers\.host\}" "id:1030,phase:1,deny,status:403,log,msg:'rfi attack detected'" diff --git a/waf_patterns/apache/shells.conf b/waf_patterns/apache/shells.conf index c0e8a91..034d927 100644 --- a/waf_patterns/apache/shells.conf +++ b/waf_patterns/apache/shells.conf @@ -1,28 +1,28 @@ # Apache ModSecurity rules for SHELLS SecRuleEngine On -SecRule REQUEST_URI "B4TM4N\ SH3LL\.\*" "id:1324,phase:1,deny,status:403,log,msg:'shells attack detected'" -SecRule REQUEST_URI "\^n\ \ \ \ \ \ n\ \ \ \ \ \ \ \ \ \ \ \ \ azrail\ \[0\-9\.\]\+\ by\ C\-W\-M" "id:1342,phase:1,deny,status:403,log,msg:'shells attack detected'" -SecRule REQUEST_URI "@contains\ punkholicshell" "id:1341,phase:1,deny,status:403,log,msg:'shells attack detected'" -SecRule REQUEST_URI "\^n\.\*\?\ \~\ Shell\ Inn