{ "filters":{ "filter":[ { "id":"1", "rule":"(?:\"[^\"]*[^-]?>)|(?:[^\\w\\s]\\s*\\\/>)|(?:>\")", "description":"Finds html breaking injections including whitespace attacks", "tags":{ "tag":[ "xss", "csrf" ] }, "impact":"4" }, { "id":"2", "rule":"(?:\"+.*[<=]\\s*\"[^\"]+\")|(?:\"\\s*\\w+\\s*=)|(?:>\\w=\\\/)|(?:#.+\\)[\"\\s]*>)|(?:\"\\s*(?:src|style|on\\w+)\\s*=\\s*\")|(?:[^\"]?\"[,;\\s]+\\w*[\\[\\(])", "description":"Finds attribute breaking injections including whitespace attacks", "tags":{ "tag":[ "xss", "csrf" ] }, "impact":"4" }, { "id":"3", "rule":"(?:^>[\\w\\s]*<\\\/?\\w{2,}>)", "description":"Finds unquoted attribute breaking injections", "tags":{ "tag":[ "xss", "csrf" ] }, "impact":"2" }, { "id":"4", "rule":"(?:[+\\\/]\\s*name[\\W\\d]*[)+])|(?:;\\W*url\\s*=)|(?:[^\\w\\s\\\/?:>]\\s*(?:location|referrer|name)\\s*[^\\\/\\w\\s-])", "description":"Detects url-, name-, JSON, and referrer-contained payload attacks", "tags":{ "tag":[ "xss", "csrf" ] }, "impact":"5" }, { "id":"5", "rule":"(?:\\W\\s*hash\\s*[^\\w\\s-])|(?:\\w+=\\W*[^,]*,[^\\s(]\\s*\\()|(?:\\?\"[^\\s\"]\":)|(?:(?]*)t(?!rong))|(?:\\)|(?:[^*]\\\/\\*|\\*\\\/[^*])|(?:(?:[\\W\\d]#|--|{)$)|(?:\\\/{3,}.*$)|(?:)", "description":"Detects common comment types", "tags":{ "tag":[ "xss", "csrf", "id" ] }, "impact":"3" }, { "id":"37", "rule":"(?:\\~])", "description":"Detects conditional SQL injection attempts", "tags":{ "tag":[ "sqli", "id", "lfi" ] }, "impact":"6" }, { "id":"42", "rule":"(?:\"\\s*or\\s*\"?\\d)|(?:\\\\x(?:23|27|3d))|(?:^.?\"$)|(?:(?:^[\"\\\\]*(?:[\\d\"]+|[^\"]+\"))+\\s*(?:n?and|x?or|not|\\|\\||\\&\\&)\\s*[\\w\"[+&!@(),.-])|(?:[^\\w\\s]\\w+\\s*[|-]\\s*\"\\s*\\w)|(?:@\\w+\\s+(and|or)\\s*[\"\\d]+)|(?:@[\\w-]+\\s(and|or)\\s*[^\\w\\s])|(?:[^\\w\\s:]\\s*\\d\\W+[^\\w\\s]\\s*\".)|(?:\\Winformation_schema|table_name\\W)", "description":"Detects classic SQL injection probings 1\/2", "tags":{ "tag":[ "sqli", "id", "lfi" ] }, "impact":"6" }, { "id":"43", "rule":"(?:\"\\s*\\*.+(?:or|id)\\W*\"\\d)|(?:\\^\")|(?:^[\\w\\s\"-]+(?<=and\\s)(?<=or\\s)(?<=xor\\s)(?<=nand\\s)(?<=not\\s)(?<=\\|\\|)(?<=\\&\\&)\\w+\\()|(?:\"[\\s\\d]*[^\\w\\s]+\\W*\\d\\W*.*[\"\\d])|(?:\"\\s*[^\\w\\s?]+\\s*[^\\w\\s]+\\s*\")|(?:\"\\s*[^\\w\\s]+\\s*[\\W\\d].*(?:#|--))|(?:\".*\\*\\s*\\d)|(?:\"\\s*or\\s[^\\d]+[\\w-]+.*\\d)|(?:[()*<>%+-][\\w-]+[^\\w\\s]+\"[^,])", "description":"Detects classic SQL injection probings 2\/2", "tags":{ "tag":[ "sqli", "id", "lfi" ] }, "impact":"6" }, { "id":"44", "rule":"(?:\\d\"\\s+\"\\s+\\d)|(?:^admin\\s*\"|(\\\/\\*)+\"+\\s?(?:--|#|\\\/\\*|{)?)|(?:\"\\s*or[\\w\\s-]+\\s*[+<>=(),-]\\s*[\\d\"])|(?:\"\\s*[^\\w\\s]?=\\s*\")|(?:\"\\W*[+=]+\\W*\")|(?:\"\\s*[!=|][\\d\\s!=+-]+.*[\"(].*$)|(?:\"\\s*[!=|][\\d\\s!=]+.*\\d+$)|(?:\"\\s*like\\W+[\\w\"(])|(?:\\sis\\s*0\\W)|(?:where\\s[\\s\\w\\.,-]+\\s=)|(?:\"[<>~]+\")", "description":"Detects basic SQL authentication bypass attempts 1\/3", "tags":{ "tag":[ "sqli", "id", "lfi" ] }, "impact":"7" }, { "id":"45", "rule":"(?:union\\s*(?:all|distinct|[(!@]*)\\s*[([]*\\s*select)|(?:\\w+\\s+like\\s+\\\")|(?:like\\s*\"\\%)|(?:\"\\s*like\\W*[\"\\d])|(?:\"\\s*(?:n?and|x?or|not |\\|\\||\\&\\&)\\s+[\\s\\w]+=\\s*\\w+\\s*having)|(?:\"\\s*\\*\\s*\\w+\\W+\")|(?:\"\\s*[^?\\w\\s=.,;)(]+\\s*[(@\"]*\\s*\\w+\\W+\\w)|(?:select\\s*[\\[\\]()\\s\\w\\.,\"-]+from)|(?:find_in_set\\s*\\()", "description":"Detects basic SQL authentication bypass attempts 2\/3", "tags":{ "tag":[ "sqli", "id", "lfi" ] }, "impact":"7" }, { "id":"46", "rule":"(?:in\\s*\\(+\\s*select)|(?:(?:n?and|x?or|not |\\|\\||\\&\\&)\\s+[\\s\\w+]+(?:regexp\\s*\\(|sounds\\s+like\\s*\"|[=\\d]+x))|(\"\\s*\\d\\s*(?:--|#))|(?:\"[%&<>^=]+\\d\\s*(=|or))|(?:\"\\W+[\\w+-]+\\s*=\\s*\\d\\W+\")|(?:\"\\s*is\\s*\\d.+\"?\\w)|(?:\"\\|?[\\w-]{3,}[^\\w\\s.,]+\")|(?:\"\\s*is\\s*[\\d.]+\\s*\\W.*\")", "description":"Detects basic SQL authentication bypass attempts 3\/3", "tags":{ "tag":[ "sqli", "id", "lfi" ] }, "impact":"7" }, { "id":"47", "rule":"(?:[\\d\\W]\\s+as\\s*[\"\\w]+\\s*from)|(?:^[\\W\\d]+\\s*(?:union|select|create|rename|truncate|load|alter|delete|update|insert|desc))|(?:(?:select|create|rename|truncate|load|alter|delete|update|insert|desc)\\s+(?:(?:group_)concat|char|load_file)\\s?\\(?)|(?:end\\s*\\);)|(\"\\s+regexp\\W)|(?:[\\s(]load_file\\s*\\()", "description":"Detects concatenated basic SQL injection and SQLLFI attempts", "tags":{ "tag":[ "sqli", "id", "lfi" ] }, "impact":"5" }, { "id":"48", "rule":"(?:@.+=\\s*\\(\\s*select)|(?:\\d+\\s*or\\s*\\d+\\s*[\\-+])|(?:\\\/\\w+;?\\s+(?:having|and|or|select)\\W)|(?:\\d\\s+group\\s+by.+\\()|(?:(?:;|#|--)\\s*(?:drop|alter))|(?:(?:;|#|--)\\s*(?:update|insert)\\s*\\w{2,})|(?:[^\\w]SET\\s*@\\w+)|(?:(?:n?and|x?or|not |\\|\\||\\&\\&)[\\s(]+\\w+[\\s)]*[!=+]+[\\s\\d]*[\"=()])", "description":"Detects chained SQL injection attempts 1\/2", "tags":{ "tag":[ "sqli", "id" ] }, "impact":"6" }, { "id":"49", "rule":"(?:\"\\s+and\\s*=\\W)|(?:\\(\\s*select\\s*\\w+\\s*\\()|(?:\\*\\\/from)|(?:\\+\\s*\\d+\\s*\\+\\s*@)|(?:\\w\"\\s*(?:[-+=|@]+\\s*)+[\\d(])|(?:coalesce\\s*\\(|@@\\w+\\s*[^\\w\\s])|(?:\\W!+\"\\w)|(?:\";\\s*(?:if|while|begin))|(?:\"[\\s\\d]+=\\s*\\d)|(?:order\\s+by\\s+if\\w*\\s*\\()|(?:[\\s(]+case\\d*\\W.+[tw]hen[\\s(])", "description":"Detects chained SQL injection attempts 2\/2", "tags":{ "tag":[ "sqli", "id" ] }, "impact":"6" }, { "id":"50", "rule":"(?:(select|;)\\s+(?:benchmark|if|sleep)\\s*?\\(\\s*\\(?\\s*\\w+)", "description":"Detects SQL benchmark and sleep injection attempts including conditional queries", "tags":{ "tag":[ "sqli", "id" ] }, "impact":"4" }, { "id":"51", "rule":"(?:create\\s+function\\s+\\w+\\s+returns)|(?:;\\s*(?:select|create|rename|truncate|load|alter|delete|update|insert|desc)\\s*[\\[(]?\\w{2,})", "description":"Detects MySQL UDF injection and other data\/structure manipulation attempts", "tags":{ "tag":[ "sqli", "id" ] }, "impact":"6" }, { "id":"52", "rule":"(?:alter\\s*\\w+.*character\\s+set\\s+\\w+)|(\";\\s*waitfor\\s+time\\s+\")|(?:\";.*:\\s*goto)", "description":"Detects MySQL charset switch and MSSQL DoS attempts", "tags":{ "tag":[ "sqli", "id" ] }, "impact":"6" }, { "id":"53", "rule":"(?:procedure\\s+analyse\\s*\\()|(?:;\\s*(declare|open)\\s+[\\w-]+)|(?:create\\s+(procedure|function)\\s*\\w+\\s*\\(\\s*\\)\\s*-)|(?:declare[^\\w]+[@#]\\s*\\w+)|(exec\\s*\\(\\s*@)", "description":"Detects MySQL and PostgreSQL stored procedure\/function injections", "tags":{ "tag":[ "sqli", "id" ] }, "impact":"7" }, { "id":"54", "rule":"(?:select\\s*pg_sleep)|(?:waitfor\\s*delay\\s?\"+\\s?\\d)|(?:;\\s*shutdown\\s*(?:;|--|#|\\\/\\*|{))", "description":"Detects Postgres pg_sleep injection, waitfor delay attacks and database shutdown attempts", "tags":{ "tag":[ "sqli", "id" ] }, "impact":"5" }, { "id":"55", "rule":"(?:\\sexec\\s+xp_cmdshell)|(?:\"\\s*!\\s*[\"\\w])|(?:from\\W+information_schema\\W)|(?:(?:(?:current_)?user|database|schema|connection_id)\\s*\\([^\\)]*)|(?:\";?\\s*(?:select|union|having)\\s*[^\\s])|(?:\\wiif\\s*\\()|(?:exec\\s+master\\.)|(?:union select @)|(?:union[\\w(\\s]*select)|(?:select.*\\w?user\\()|(?:into[\\s+]+(?:dump|out)file\\s*\")", "description":"Detects MSSQL code execution and information gathering attempts", "tags":{ "tag":[ "sqli", "id" ] }, "impact":"5" }, { "id":"56", "rule":"(?:merge.*using\\s*\\()|(execute\\s*immediate\\s*\")|(?:\\W+\\d*\\s*having\\s*[^\\s\\-])|(?:match\\s*[\\w(),+-]+\\s*against\\s*\\()", "description":"Detects MATCH AGAINST, MERGE, EXECUTE IMMEDIATE and HAVING injections", "tags":{ "tag":[ "sqli", "id" ] }, "impact":"5" }, { "id":"57", "rule":"(?:,.*[)\\da-f\"]\"(?:\".*\"|\\Z|[^\"]+))|(?:\\Wselect.+\\W*from)|((?:select|create|rename|truncate|load|alter|delete|update|insert|desc)\\s*\\(\\s*space\\s*\\()", "description":"Detects MySQL comment-\/space-obfuscated injections and backtick termination", "tags":{ "tag":[ "sqli", "id" ] }, "impact":"5" }, { "id":"58", "rule":"(?:@[\\w-]+\\s*\\()|(?:]\\s*\\(\\s*[\"!]\\s*\\w)|(?:<[?%](?:php)?.*(?:[?%]>)?)|(?:;[\\s\\w|]*\\$\\w+\\s*=)|(?:\\$\\w+\\s*=(?:(?:\\s*\\$?\\w+\\s*[(;])|\\s*\".*\"))|(?:;\\s*\\{\\W*\\w+\\s*\\()", "description":"Detects code injection attempts 1\/3", "tags":{ "tag":[ "id", "rfe", "lfi" ] }, "impact":"7" }, { "id":"59", "rule":"(?:(?:[;]+|(<[?%](?:php)?)).*(?:define|eval|file_get_contents|include|require|require_once|set|shell_exec|phpinfo|system|passthru|preg_\\w+|execute)\\s*[\"(@])", "description":"Detects code injection attempts 2\/3", "tags":{ "tag":[ "id", "rfe", "lfi" ] }, "impact":"7" }, { "id":"60", "rule":"(?:(?:[;]+|(<[?%](?:php)?)).*[^\\w](?:echo|print|print_r|var_dump|[fp]open))|(?:;\\s*rm\\s+-\\w+\\s+)|(?:;.*{.*\\$\\w+\\s*=)|(?:\\$\\w+\\s*\\[\\]\\s*=\\s*)", "description":"Detects code injection attempts 3\/3", "tags":{ "tag":[ "id", "rfe", "lfi" ] }, "impact":"7" }, { "id":"62", "rule":"(?:function[^(]*\\([^)]*\\))|(?:(?:delete|void|throw|instanceof|new|typeof)[^\\w.]+\\w+\\s*[([])|([)\\]]\\s*\\.\\s*\\w+\\s*=)|(?:\\(\\s*new\\s+\\w+\\s*\\)\\.)", "description":"Detects common function declarations and special JS operators", "tags":{ "tag":[ "id", "rfe", "lfi" ] }, "impact":"5" }, { "id":"63", "rule":"(?:[\\w.-]+@[\\w.-]+%(?:[01][\\db-ce-f])+\\w+:)", "description":"Detects common mail header injections", "tags":{ "tag":[ "id", "spam" ] }, "impact":"5" }, { "id":"64", "rule":"(?:\\.pl\\?\\w+=\\w?\\|\\w+;)|(?:\\|\\(\\w+=\\*)|(?:\\*\\s*\\)+\\s*;)", "description":"Detects perl echo shellcode injection and LDAP vectors", "tags":{ "tag":[ "lfi", "rfe" ] }, "impact":"5" }, { "id":"65", "rule":"(?:(^|\\W)const\\s+[\\w\\-]+\\s*=)|(?:(?:do|for|while)\\s*\\([^;]+;+\\))|(?:(?:^|\\W)on\\w+\\s*=[\\w\\W]*(?:on\\w+|alert|eval|print|confirm|prompt))|(?:groups=\\d+\\(\\w+\\))|(?:(.)\\1{128,})", "description":"Detects basic XSS DoS attempts", "tags":{ "tag":[ "rfe", "dos" ] }, "impact":"5" }, { "id":"67", "rule":"(?:\\({2,}\\+{2,}:{2,})|(?:\\({2,}\\+{2,}:+)|(?:\\({3,}\\++:{2,})|(?:\\$\\[!!!\\])", "description":"Detects unknown attack vectors based on PHPIDS Centrifuge detection", "tags":{ "tag":[ "xss", "csrf", "id", "rfe", "lfi" ] }, "impact":"7" }, { "id":"68", "rule":"(?:[\\s\\\/\"]+[-\\w\\\/\\\\\\*]+\\s*=.+(?:\\\/\\s*>))", "description":"Finds attribute breaking injections including obfuscated attributes", "tags":{ "tag":[ "xss", "csrf" ] }, "impact":"4" }, { "id":"69", "rule":"(?:(?:msgbox|eval)\\s*\\+|(?:language\\s*=\\*vbscript))", "description":"Finds basic VBScript injection attempts", "tags":{ "tag":[ "xss", "csrf" ] }, "impact":"4" }, { "id":"70", "rule":"(?:\\[\\$(?:ne|eq|lte?|gte?|n?in|mod|all|size|exists|type|slice|or)\\])", "description":"Finds basic MongoDB SQL injection attempts", "tags":{ "tag":"sqli" }, "impact":"4" }, { "id":"71", "rule":"(?:[\\s\\d\\\/\"]+(?:on\\w+|style|poster|background)=[$\"\\w])|(?:-type\\s*:\\s*multipart)", "description":"Finds malicious attribute injection attempts and MHTML attacks", "tags":{ "tag":[ "xss", "csrf" ] }, "impact":"6" }, { "id":"72", "rule":"(?:(sleep\\((\\s*)(\\d*)(\\s*)\\)|benchmark\\((.*)\\,(.*)\\)))", "description":"Detects blind sqli tests using sleep() or benchmark().", "tags":{ "tag":[ "sqli", "id" ] }, "impact":"4" }, { "id":"73", "rule":"(?:(\\%SYSTEMROOT\\%))", "description":"An attacker is trying to locate a file to read or write.", "tags":{ "tag":[ "files", "id" ] }, "impact":"4" }, { "id":"75", "rule":"(?:(((.*)\\%[c|d|i|e|f|g|o|s|u|x|p|n]){8}))", "description":"Looking for a format string attack", "tags":{ "tag":"format string" }, "impact":"4" }, { "id":"76", "rule":"(?:(union(.*)select(.*)from))", "description":"Looking for basic sql injection. Common attack string for mysql, oracle and others.", "tags":{ "tag":[ "sqli", "id" ] }, "impact":"3" }, { "id":"77", "rule":"(?:^(-0000023456|4294967295|4294967296|2147483648|2147483647|0000012345|-2147483648|-2147483649|0000023456|2.2250738585072007e-308|1e309)$)", "description":"Looking for integer overflow attacks, these are taken from skipfish, except 2.2250738585072007e-308 is the \"magic number\" crash", "tags":{ "tag":[ "sqli", "id" ] }, "impact":"3" }, { "id":"78", "rule":"(?:%23.*?%0a)", "description":"Detects SQL comment filter evasion", "tags":{ "tag":[ "format string" ] }, "impact":"4" } ] } }