Header Fuzzers
CATS has currently 38 registered Header Fuzzers:
AbugidasCharsInHeadersFuzzer- iterate through each header and send requests with abugidas chars in the targeted headerCRLFHeaders- iterate through each header and send CR & LF characters in the targeted headerCheckSecurityHeadersFuzzer- check all responses for good practices around Security related headers like: [{name=Cache-Control, value=no-store}, {name=X-XSS-Protection, value=1; mode=block}, {name=X-Content-Type-Options, value=nosniff}, {name=X-Frame-Options, value=DENY}]DummyAcceptHeadersFuzzer- send a request with a dummy Accept header and expect to get 406 codeDummyContentTypeHeadersFuzzer- send a request with a dummy Content-Type header and expect to get 415 codeDummyContentLengthHeadersFuzzer- send a request with a dummy Content-Length header and expect to get 400 codeDummyTransferEncodingHeadersFuzzer- send a request with a dummy Transfer-Encoding header and expect to get a 400 or 501 codeDuplicateHeaderFuzzer- send a 'happy' flow request and duplicate an existing headerEmptyStringValuesInHeadersFuzzer- iterate through each header and send requests with empty String values in the targeted headerExtraHeadersFuzzer- send a 'happy' flow request and add an extra field inside the request called 'Cats-Fuzzy-Header'InvalidContentLengthHeadersFuzzer- send a request with an invalid Content-Length header and expect to get 400 codeLargeNumberRandomAlphanumericHeaders- send a 'happy' flow request with 10 000 extra random alphanumeric headersLargeNumberRandomHeaders- send a 'happy' flow request with 10 000 extra random headersLeadingControlCharsInHeadersFuzzer- iterate through each header and prefix values with control charsLeadingWhitespacesInHeadersFuzzer- iterate through each header and prefix value with unicode separatorsLeadingMultiCodePointEmojisInHeadersFuzzer- iterate through each header and prefix values with multi code point emojisLeadingSingleCodePointEmojisInHeadersFuzzer- iterate through each header and prefix values with single code point emojisLeadingSpacesInHeadersFuzzer- iterate through each header and send requests with spaces prefixing the value in the targeted headerRemoveHeadersFuzzer- iterate through each header and remove different combinations of themOnlyControlCharsInHeadersFuzzer- iterate through each header and replace value with control charsOnlySpacesInHeadersFuzzer- iterate through each header and replace value with spacesOnlyMultiCodePointEmojisInHeaders- iterate through each header and send values replaced by multi code point emojis in the targeted headerOnlySingleCodePointEmojisInHeaders- iterate through each header and send values replaced by single code point emojis in the targeted headerOnlyWhitespacesInHeadersFuzzer- iterate through each header and replace value with unicode separatorsResponseHeadersMatchContractHeaders- send a request with all fields and headers populated and checks if the response headers match the ones defined in the contractTrailingSpacesInHeadersFuzzer- iterate through each header and send requests with trailing spaces in the targeted headerTrailingControlCharsInHeadersFuzzer- iterate through each header and trail values with control charsTrailingMultiCodePointEmojisHeaders- iterate through each header and send values suffixed with multi code point emojis in the targeted headerTrailingSingleCodePointEmojisHeaders- iterate through each header and send values suffixed with single code point emojis in the targeted headerTrailingWhitespacesInHeadersFuzzer- iterate through each header and trail values with unicode separatorsUnsupportedAcceptHeadersFuzzer- send a request with an unsupported Accept header and expect to get 406 codeUnsupportedContentTypesHeadersFuzzer- send a request with an unsupported Content-Type header and expect to get 415 codeUserDictionaryHeadersFuzzer- iterates through each request headers and sends values from the user supplied dictionaryVeryLargeStringsInHeadersFuzzer- iterate through each header and send large values in the targeted headerVeryLargeUnicodeStringsInHeadersFuzzer- iterate through each header and send large unicode values in the targeted headerZalgoTextInHeadersFuzzer- iterate through each header and send requests with zalgo text in the targeted headerZeroWidthCharsInNamesHeaders- injects zero-width characters in the header namesZeroWidthCharsInValuesHeaders- iterate through each header and send Zero-width characters in the targeted header
You can run only these Fuzzers by supplying the --checkHeaders argument.
📄️ Abugidas Characters
| Item | Description |
📄️ Check Security Headers
| Item | Description |
📄️ CRLF
| Item | Description |
📄️ Dummy Accept Headers
| Item | Description |
📄️ Dummy Content-Length Headers
| Item | Description |
📄️ Dummy Content-Type Headers
| Item | Description |
📄️ Dummy Transfer-Encoding Headers
| Item | Description |
📄️ Duplicate Headers
| Item | Description |
📄️ Empty Strings
| Item | Description |
📄️ Extra Headers
| Item | Description |
📄️ Invalid Content-Length Headers
| Item | Description |
📄️ Large Number of Random Alphanumeric Headers
| Item | Description |
📄️ Large Number of Random Headers
| Item | Description |
📄️ Leading Control Characters
| Item | Description |
📄️ Leading Multi Code Point Emojis
| Item | Description |
📄️ Leading Single Code Point Emojis
| Item | Description |
📄️ Leading Spaces
| Item | Description |
📄️ Leading Whitespaces
| Item | Description |
📄️ Only Control Characters
| Item | Description |
📄️ Only Multi Code Point Emojis
| Item | Description |
📄️ Only Single Code Point Emojis
| Item | Description |
📄️ Only Spaces
| Item | Description |
📄️ Only Whitespaces
| Item | Description |
📄️ Remove Headers
| Item | Description |
📄️ Response Headers Match Contract Headers
| Item | Description |
📄️ Trailing Control Characters
| Item | Description |
📄️ Trailing Multi Code Point Emojis
| Item | Description |
📄️ Trailing Single Code Point Emojis
| Item | Description |
📄️ Trailing Spaces
| Item | Description |
📄️ Trailing Whitespaces
| Item | Description |
📄️ Unsupported Accept Headers
| Item | Description |
📄️ Unsupported Content-Type Headers
| Item | Description |
📄️ Very Large Strings
| Item | Description |
📄️ Very Large Unicode Strings
| Item | Description |
📄️ Zalgo Text
| Item | Description |
📄️ Zero-Width Characters in Header Names
| Item | Description |
📄️ Zero-Width Characters in Header Values
| Item | Description |