Requirements for API scanning

Burp Scanner can scan APIs for vulnerabilities. This enables you to discover a larger attack surface in your applications.

Starting an API scan

Both Burp Suite Enterprise Edition and Burp Suite Professional enable you to upload an API definition to be scanned. Burp Scanner automatically detects endpoints, parameters, and authentication details in the definition, then audits the detected endpoints.

More information

Incidental API scanning

Burp Scanner also parses any API definitions that it encounters as part of its regular crawling activity, then crawls and audits any endpoints that it discovers.

Note

To disable API scanning during regular crawling activity, deselect the Parse API definitions crawl option in the Miscellaneous section of your custom scan configuration.

API definition requirements

For Burp Scanner to parse and scan an API definition, the definition must meet the following requirements:

API endpoint requirements (OpenAPI only)

Burp Scanner can scan most types of OpenAPI endpoints, for endpoints that require:

Non-standard JSON endpoints are supported, for example endpoints with a content type of application/json-patch+json or application*+json.

Note

The event log displays details of any endpoints that weren't scanned.

Endpoint testing rules

For OpenAPI definitions, Burp Scanner creates requests to audit each endpoint in line with the following rules:

Note

Burp Scanner treats every combination of in-scope server and path methods in the API definition as its own endpoint. For example, if a definition had three servers, each with GET and POST methods, then Burp Scanner would identify six endpoints.

For SOAP WSDLs, Burp Scanner creates requests to audit each endpoint in line with the following rules:

Crawling GraphQL APIs

Burp Scanner can scan and audit GraphQL API endpoints during a crawl and audit. GraphQL crawls rely on introspection. This is a built-in GraphQL feature that enables users to query the structure of the API itself.

If GraphQL scanning is enabled, Burp Scanner uses the following process when crawling:

Note

For more information on how to test GraphQL APIs effectively, see the GraphQL API vulnerabilities Web Security Academy topic.