Interface ActiveScanCheck
public interface ActiveScanCheck
Extensions can implement this interface, then call
Scanner.registerActiveScanCheck(ActiveScanCheck, ScanCheckType)
to register a custom active scan
check. During an audit, Burp invokes the check to perform an
active audit on the base request according to the specified ScanCheckType
. Burp reports any audit issues
that are identified.-
Method Summary
Modifier and TypeMethodDescriptionThe name Burp will use to identify this scan check.default ConsolidationAction
consolidateIssues
(AuditIssue existingIssue, AuditIssue newIssue) The Scanner invokes this method when the custom Scan check has reported multiple issues for the same URL path.doCheck
(HttpRequestResponse baseRequestResponse, AuditInsertionPoint insertionPoint, Http http) The Scanner invokes this method according to the registeredScanCheckType
.
-
Method Details
-
checkName
String checkName()The name Burp will use to identify this scan check.- Returns:
- Name of the scan check.
-
doCheck
AuditResult doCheck(HttpRequestResponse baseRequestResponse, AuditInsertionPoint insertionPoint, Http http) The Scanner invokes this method according to the registeredScanCheckType
. Use theHttp
object to issue HTTP requests during an active audit. Use theAuditInsertionPoint
object to build requests with specific payloads. Note: Scan checks should submit non-encoded payloads to insertion points. The insertion point should handle any necessary encoding based on its type and location.- Parameters:
baseRequestResponse
- The baseHttpRequestResponse
that should be actively audited.insertionPoint
- AnAuditInsertionPoint
object. This can be queried to obtain details of the insertion point being tested. It can also be used to build requests for particular payloads. Note: This object is only available if the scan check is registered with theScanCheckType.PER_INSERTION_POINT
type. For other types, aAuditInsertionPoint
object is returned, but it only contains placeholder data.http
- AHttp
object. This can be used to send and retrieve HTTP requests within the custom scan check. Any requests you send are automatically linked to the current scan task.- Returns:
- An
AuditResult
object that contains a list ofAuditIssue
objects, or an emptyAuditResult
object if no issues are identified.
-
consolidateIssues
The Scanner invokes this method when the custom Scan check has reported multiple issues for the same URL path. This can arise either because there are multiple distinct vulnerabilities, or because the same (or a similar) request has been scanned more than once. The custom check should determine whether the issues are duplicates. In most cases, where a check uses distinct issue names or descriptions for distinct issues, the consolidation process will simply be a matter of comparing these features for the two issues.- Parameters:
existingIssue
- AnAuditIssue
that was previously reported by this Scan check.newIssue
- AnAuditIssue
at the same URL path that has been newly reported by this Scan check.- Returns:
- A
ConsolidationAction
to determine which issue(s) should be reported in the main Scanner results.
-