πŸ”Grep Options

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.

Field
Description

IsContentType

βœ… Enable Content-Type filtering

ContentType

πŸ“„ The expected Content-Type value (partial match)

NegativeCT

πŸ”„ 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.

Field
Description

IsResponseCode

βœ… Enable status code filtering

ResponseCode

πŸ”’ The expected HTTP status code

NegativeRC

πŸ”„ 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.

Field
Description

isurlextension

βœ… Enable URL extension filtering

urlextension

πŸ“„ Comma-separated list of extensions (without dots)

NegativeUrlExtension

πŸ”„ 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:

Scope
Description

(empty)

🌐 Search entire response

Only in Headers

πŸ“‹ Search only in HTTP headers

Only in Body

πŸ“„ Search only in response body

⚑ Filter Evaluation Order

Filters are evaluated in this order to maximize performance:

  1. πŸ“ URL Extension β€” Skip requests to static files

  2. πŸ”’ Response Code β€” Skip responses with wrong status codes

  3. πŸ“„ Content-Type β€” Skip responses with wrong content types

  4. πŸ” Grep Matching β€” Apply match patterns to the filtered response

This early filtering pipeline prevents unnecessary processing and reduces scan time.

Last updated