package burp.zn.band; import burp.*; import java.net.URL; public class SSRFScanIssue implements IScanIssue { private final String requestHash; private final IExtensionHelpers helpers; private final IBurpExtenderCallbacks callbacks; private final IHttpRequestResponse requestResponse; public SSRFScanIssue(IBurpExtenderCallbacks callbacks, String requestHash, IHttpRequestResponse requestResponse) { this.callbacks = callbacks; this.requestHash = requestHash; this.requestResponse = requestResponse; this.helpers = callbacks.getHelpers(); } @Override public URL getUrl() { return helpers.analyzeRequest(requestResponse).getUrl(); } @Override public String getIssueName() { return "Server Side Request Forgery"; } @Override public int getIssueType() { return 31337; } @Override public String getSeverity() { return "High"; } @Override public String getConfidence() { return "Certain"; } @Override public String getIssueBackground() { return "SSRF here, guys!"; } @Override public String getRemediationBackground() { return "You've pwned this host!"; } @Override public String getIssueDetail() { return "SSRF found with this request hash <br/>" + requestHash + "<br/><img src=\"http://www.terrariaonline.com/attachments/small-trollface-jpg.9747/\">"; } @Override public String getRemediationDetail() { return "Pwn'em all!"; } @Override public IHttpRequestResponse[] getHttpMessages() { return new IHttpRequestResponse[]{requestResponse}; } @Override public IHttpService getHttpService() { return requestResponse.getHttpService(); } }