JSON Fuzzing Scan

Applies to ReadyAPI 3.52, last modified on April 25, 2024

About

The JSON Fuzzing scan checks how your service behaves when getting random input in a POST message.

Typically, attackers try to throw random values to cause unexpected behavior at web service operations, so the service reveals the system data through error messages or stack traces. The JSON Fuzzing scan checks how your service acts in such cases by sending totally random input data in POST messages repeatedly for a prolonged period of time.

If the scan does not reveal any information about possible vulnerabilities, it passes successfully.

If the scan has Failed, that means your service is vulnerable to iterative requests, or cannot correctly handle the JSON data. This causes security problems or reveals sensitive information.

Requirements

  • This scan is applicable to test steps or POST requests that have valid JSON data in the request body. Otherwise, you cannot add the JSON Fuzzing scan in your security test.

    If you use property expansion, enclose it into quotes, otherwise, ReadyAPI does not consider it as a valid JSON object.

  • To use this scan, you need a ReadyAPI Test  license. If you do not have it, request it on our web site or start a trial.

How it works

The JSON fuzzing scan generates totally random input for the POST message trying to provoke some kind of unexpected behavior. It inserts new values to all fields of the request message.

Note: To replace values only in specific fields, create a script using the Custom Script Scan.

It uses assertions to validate each response and check if it includes any information about potential vulnerabilities.

If a response passes all assertions, PASS will be logged for that response. If any assertion fails, FAIL will be logged.

If you have not applied any assertions to the scan, Unknown will be logged for the response.

Assertions

  • Default assertion
    Sensitive Information Exposure – Checks that your server does not reveal ay information that is useful for attacks (such as stack traces, if the server crashes).

Parameters

The Fuzzing JSON scan inserts random content into the JSON POST message. Use the following options to configure the scan Strategy:

Option Description
Request Delay (ms) Set a pause between requests during the scan in milliseconds.
Apply to Failed Test Steps Select to run the scan even if the target test step fails.
Run only once Select to run the scan only once for each test step, even if ReadyAPI runs that step several times for the test case.

The Advanced parameters define behavior and limits for the scan:

Option Description
Min length The minimum length of the fuzzed parameter.
Max length The minimum length of the fuzzed parameter.
Number of Requests The number of fuzzed requests to send.

See Also

Fuzzing Scan
HTTP Method Fuzzing Scan
Sensitive Information Exposure Assertion
Security Scans Types

Highlight search results