Grep options provide additional controls for how match patterns are evaluated and how responses are filtered before matching.
βοΈ Match Modifiers
π Negative Match (NotResponse)
Inverts the match logic β the issue is reported when the pattern is NOT found in the response.
{
"NotResponse": true,
"Grep": ["true,,Simple String,Only in Headers,X-Frame-Options"]
}
Use cases:
π‘οΈ Detecting missing security headers (HSTS, CSP, X-Frame-Options, X-Content-Type-Options)
π Detecting missing authentication requirements
β
Verifying security controls are in place
π€ Case Sensitive (CaseSensitive)
Controls whether pattern matching is case-sensitive.
{
"CaseSensitive": true,
"Grep": ["true,,Simple String,,AdminPanel"]
}
β
true β Exact case must match (AdminPanel matches, adminpanel does not)
π false β Case-insensitive matching (AdminPanel and adminpanel both match)
Default: false (case-insensitive)
π― Response Scope Filters
π« Exclude HTTP Headers (ExcludeHTTP)
Excludes HTTP response headers from the match scope β patterns are only matched against the response body.
π Only HTTP Headers (OnlyHTTP)
Restricts matching to HTTP response headers only β the response body is ignored.
π Note: You can also set scope per-pattern using the scope field in the grep entry: Only in Headers or Only in Body.
π½ Pre-Request Filters
These filters are applied before the request is sent, allowing you to skip irrelevant requests early and save time.
π Content-Type Filter (IsContentType)
Only process responses with a specific Content-Type.
β
Enable Content-Type filtering
π The expected Content-Type value (partial match)
π true = exclude this Content-Type, false = require this Content-Type
π Examples:
β
Only scan HTML responses:
π« Skip JSON responses:
π’ Response Code Filter (IsResponseCode)
Only process responses with a specific HTTP status code.
β
Enable status code filtering
π’ The expected HTTP status code
π true = exclude this code, false = require this code
π Examples:
β
Only scan successful responses:
π« Skip 404 responses:
π URL Extension Filter (isurlextension)
Only process requests with specific URL file extensions.
β
Enable URL extension filtering
π Comma-separated list of extensions (without dots)
π true = exclude these extensions, false = require these extensions
π Examples:
β
Only scan PHP and JSP files:
π« Skip static files:
π Combining Filters
Filters can be combined to precisely target the responses you want to analyze:
This configuration:
β
Only processes HTML responses
β
Only processes 200 OK responses
π« Skips static file extensions
π― Grep Scope per Pattern
In addition to the global ExcludeHTTP/OnlyHTTP flags, each grep pattern can specify its own scope:
π Search entire response
π Search only in HTTP headers
π Search only in response body
β‘ Filter Evaluation Order
Filters are evaluated in this order to maximize performance:
π URL Extension β Skip requests to static files
π’ Response Code β Skip responses with wrong status codes
π Content-Type β Skip responses with wrong content types
π Grep Matching β Apply match patterns to the filtered response
This early filtering pipeline prevents unnecessary processing and reduces scan time.
Last updated