Firefly supports several ways to define the target request:
Methods and Protocols
Specify multiple HTTP methods and protocols using comma-separated lists.
-m: HTTP methods (e.g., GET,POST,PUT)-p: Protocols (e.g., https,http,ws)
Pipeline Input
You can pipe URLs directly into Firefly via stdin.
HTTP Raw Requests
Use the -r flag to provide a raw HTTP request. Firefly will automatically detect GET and/or POST parameters to fuzz. You can use -au replace to specify how to handle parameter replacement.
Timeout
Set a custom timeout for requests using --timeout (in milliseconds).
# Using methods and protocols
firefly -u 'http://example.com/?query=FUZZ' -m GET,POST,PUT -p https,http,ws
# Using pipeline
echo 'http://example.com/?query=FUZZ' | firefly
# Using raw HTTP request
firefly -r 'GET /?query=FUZZ HTTP/1.1\nHost: example.com\nUser-Agent: FireFly'
# Raw request with parameter replacement
firefly -r 'POST /?A=1 HTTP/1.1\nHost: example.com\nUser-Agent: Firefly\nX-Host: FUZZ\n\nB=2&C=3' -au replace