# The TOML Structure: # # You can specify multiple different injection types if you want. # [name] # any name you want, it is not important # tokens = ["a string", ...] # an injection string to add to the tokens list # matches = ["a string", ...] # if on of these substrings (case insensitive) is found # # in the parameter of the function then crash! # # note that this is not a regex. # # [name.functions] # # multiple function targets to hook can be defined # function_name = # name of the function you want to hook. # # if the function name starts with 0x then # # this is the QEMU Guest address of a # # function you want to hook that does not # # have a symbol. # {param = number} # which parameter to the function contains the string # # 0 = first, 1 = second, ... 0-5 are supported (depending on architecture) [sql] tokens = [ "'\"\"'\"\n", "\"1\" OR '1'=\"1\"" ] matches = [ "'\"\"'\"", "1\" OR '1'=\"1" ] [sql.functions] sqlite3_exec = {param = 1} PQexec = {param = 1} PQexecParams = {param = 1} mysql_query = {param = 1} mysql_send_query = {param = 1} # Command injection. Note that for most you will need a libc with debug symbols # We do not need this as we watch the SYS_execve syscall, this is just an # example. [cmd] tokens = [ "'\"FUZZ\"'", "\";FUZZ;\"", "';FUZZ;'", "$(FUZZ)", ] matches = ["'\"FUZZ\"'"] [cmd.functions] popen = {param = 0} system = {param = 0} # LDAP injection tests [ldap] tokens = ["*)(FUZZ=*))(|"] matches = ["*)(FUZZ=*))(|"] [ldap.functions] ldap_search_ext = {param = 3} ldap_search_ext_s = {param = 3} # XSS injection tests # This is a minimal example that only checks for libxml2 [xss] tokens = ["'\">