Design a script that performs automated fuzzing on web applications by sending crafted payloads to input fields and analyzing the responses. Unlike simple wordlist-based fuzzers, this script should be adaptive — meaning it learns from the responses it receives and mutates future payloads accordingly.
Expected Behavior
- Input: target URL with parameters (e.g.,
http://site.com/page?input=test) and a seed wordlist of payloads
- Process:
- Send each payload and log the response (status code, length, error messages)
- Detect anomalies (e.g., SQL errors, stack traces, unusual status codes)
- Generate new mutated payloads based on what triggered anomalies
- Continue testing with refined payloads
- Output:
- A report of potential injection points
- Logs of anomalous responses with payload used
- Must not crash on large payload lists or timeouts
Example Usage
python adaptivefuzzer.py -u "http://example.com/page?search=test" -w payloads.txt -o results.json