HTTP Fuzzers
CATS has currently 37 registered HTTP Fuzzers. The names below match
cats list --fuzzers:
BypassAuthentication- remove authentication headers and check access controlCheckDeletedResourcesNotAvailable- verify resources are unavailable after successful deletesCheckReadsStillWork- repeat GET requests that succeeded before fuzzing, after all fuzzers finished for a path, to detect fuzzed writes that break readsConditionalEtag- testIf-None-Matchon GET and staleIf-Matchon PUT/PATCH with previously observed ETagsCreatedResourceLocation- retrieve a newly created resource from a same-originLocationpointing to a documented GETCrossParentResourceIsolation- probe a known child resource under another observed parent, reporting only confirmed identity exposure as a warningCustomHttpMethods- send hypothetical methods not expected for REST APIsDummyRequest- send a dummy JSON requestEmptyBody- send an empty-string bodyEmptyJsonArrayBody- send an empty JSON array bodyEmptyJsonBody- send an empty JSON object bodyHappyPath- send a request with all fields and headers populatedHttpMethodOverrideTunneling- sends POST requests with HTTP method-override headers targeting undocumented verbs to detect verb tunnelingHttpMethods- send undocumented HTTP methodsIdempotencyKeyConflict- replays the same Idempotency-Key header with a modified request payload to verify the server rejects conflicting replays with 4XXInsecureDirectObjectReferences- detect heuristic IDOR signals by replacing ID fields and verifying alternative IDs in successful responsesInsertRandomValuesInBody- insert invalid data into a valid request bodyMalformedJson- send malformed JSONNonRestHttpMethods- send WebDAV methods not expected for REST APIsNullBody- send a null bodyNullUnicodeBody- send a\\u0000bodyNullUnicodeSymbolBody- send a Unicode null-symbol bodyPaginationLimitHonored- sendslimit=1(orsize=1/pageSize=1/per_page=1) on GET collection endpoints and warns if the returned array contains more than 1 itemPatchOmittedFieldsClobber- send a partial PATCH omitting a populated optional field on an owned resource and warn if the omitted field is wiped on a subsequent GETPutIdempotency- repeat a successful PUT twice on a resource created in the current run and compare resulting GET stateRandomDummyInvalidJsonBody- send dummy invalid JSONRandomNegativeDecimalBody- send a random negative decimal bodyRandomNegativeIntegerBody- send a random negative integer bodyRandomPositiveDecimalBody- send a random positive decimal bodyRandomPositiveIntegerBody- send a random positive integer bodyRandomResources- send random resource identifiers in path variablesRandomStringBody- send a random string bodyRandomUnicodeBody- send a random Unicode string bodySensitiveDataExposure- send a happy flow request and check that the response does not exposewriteOnlyfields or undeclared sensitive fields like passwords, secrets, or API keysUpdateReadConsistency- read back a created resource after a successful update and warn on differences in comparable writable fieldsZeroDecimalBody- send a decimal zero bodyZeroIntegerBody- send an integer zero body
Run only these fuzzers with --checkHttp.
📄️ Bypass Authentication
| Item | Description |
📄️ Check Deleted Resources Not Available
| Item | Description |
📄️ Check Reads Still Work
| Item | Description |
📄️ Conditional ETag
| Item | Description |
📄️ Created Resource Location
| Item | Description |
📄️ Cross-Parent Resource Isolation
| Item | Description |
📄️ Custom HTTP methods
| Item | Description |
📄️ Dummy Request
| Item | Description |
📄️ Empty Body
| Item | Description |
📄️ Empty JSON Array Body
| Item | Description |
📄️ Empty JSON Body
| Item | Description |
📄️ Happy Path
| Item | Description |
📄️ HTTP Method Override Tunneling
| Item | Description |
📄️ HTTP Methods
| Item | Description |
📄️ Idempotency Key Conflict
| Item | Description |
📄️ Insecure Direct Object References
| Item | Description |
📄️ Insert Random Values In Body
| Item | Description |
📄️ Malformed JSON
| Item | Description |
📄️ Non Rest HTTP Methods
| Item | Description |
📄️ Null Body
| Item | Description |
📄️ Null Unicode Body
| Item | Description |
📄️ Null Unicode Symbol Body
| Item | Description |
📄️ Pagination Limit Honored
| Item | Description |
📄️ PATCH Omitted Fields Clobber
| Item | Description |
📄️ PUT Idempotency
| Item | Description |
📄️ Random Dummy Invalid JSON Body
| Item | Description |
📄️ Random Negative Decimal Body
| Item | Description |
📄️ Random Negative Integer Body
| Item | Description |
📄️ Random Positive Decimal Body
| Item | Description |
📄️ Random Positive Integer Body
| Item | Description |
📄️ Random Resources
| Item | Description |
📄️ Random String Body
| Item | Description |
📄️ Random Unicode Body
| Item | Description |
📄️ Sensitive Data Exposure
| Item | Description |
📄️ Update-Read Consistency
| Item | Description |
📄️ Zero Decimal Body
| Item | Description |
📄️ Zero Integer Body
| Item | Description |