ScanConfig and ProbeResult types.
ScanConfig
TheScanConfig struct controls scan behavior:
Fields
Request timeout in seconds. Each probe request will wait up to this duration before timing out.Example:
10 for a 10-second timeoutWhether to follow HTTP redirects (3xx status codes).
true- Follow redirects automaticallyfalse- Stop at the first redirect response
false can help detect WAFs that redirect suspicious requests.Optional HTTP/HTTPS proxy URL.
None- No proxy, direct connectionSome(url)- Route requests through the specified proxy
http://host:port or https://host:portExample: Some("http://127.0.0.1:8080".to_string())Configuration examples
Default configuration
No redirects, longer timeout
Using a proxy
Burp Suite proxy
ProbeResult
TheProbeResult struct contains the results of a single probe:
Fields
Name of the probe that was executed.Possible values:
"plain request"- Baseline request"xss"- Cross-site scripting probe"sql injection"- SQL injection probe"lfi"- Local file inclusion probe
The actual URL that was requested, including any probe parameters.Example:
"https://example.com?q=<script>alert(1)</script>"HTTP status code returned by the server.Example:
200, 403, 418List of detected WAF names, or
None if no WAFs were detected.Some(vec![...])- One or more WAFs detectedSome(vec![])- No WAFs detected (empty list)None- No detection attempted or no detectors matched
Some(vec!["Cloudflare".to_string(), "Akamai Kona".to_string()])