diff --git a/src/main/java/burp/BurpExtender.java b/src/main/java/burp/BurpExtender.java index 5d6f7db..f392ad0 100644 --- a/src/main/java/burp/BurpExtender.java +++ b/src/main/java/burp/BurpExtender.java @@ -40,7 +40,7 @@ public class BurpExtender implements IBurpExtender, IScannerCheck, IContextMenuF public boolean DomainScan = false; public static String Download_Yaml_protocol = "https"; - public static String VERSION = "1.5.3"; + public static String VERSION = "1.5.4"; public static String Download_Yaml_host = "raw.githubusercontent.com"; public static int Download_Yaml_port = 443; public static String Download_Yaml_file = "/F6JO/RouteVulScan/main/Config_yaml.yaml"; @@ -244,6 +244,26 @@ public void actionPerformed(ActionEvent e) { } }); + }else { + for (IHttpRequestResponse i : RequestResponses) { + try { + IHttpService Http_Service = i.getHttpService(); + IRequestInfo RequestInfo = burp.help.analyzeRequest(Http_Service, i.getRequest()); + String host_url = RequestInfo.getUrl().getProtocol() + "://" + RequestInfo.getUrl().getHost(); + IHttpRequestResponse[] aaaa = burp.call.getSiteMap(host_url); + for (IHttpRequestResponse xxx : aaaa) { +// String Root_Url = Http_Service.getProtocol() + "://" + Http_Service.getHost() + ":" + String.valueOf(Http_Service.getPort()); +// URL url = new URL(Root_Url + burp.help.analyzeRequest(xxx).getUrl().getPath()); + BurpAnalyzedRequest Root_Request = new BurpAnalyzedRequest(burp.call, xxx); + start_send send = new start_send(burp, Root_Request,null); + send.start(); + } + + } catch (Exception exception) { + exception.printStackTrace(); + } + + } } diff --git a/src/main/java/func/vulscan.java b/src/main/java/func/vulscan.java index 9a25fc4..c7946e1 100644 --- a/src/main/java/func/vulscan.java +++ b/src/main/java/func/vulscan.java @@ -47,12 +47,14 @@ public vulscan(BurpExtender burp, BurpAnalyzedRequest Root_Request,byte[] reques //将POST切换为GET请求 request = this.help.toggleRequestMethod(request); // 获取所有参数 - List Parameters = this.help.analyzeRequest(request).getParameters(); + IRequestInfo iRequestInfo = this.help.analyzeRequest(request); + List Parameters = iRequestInfo.getParameters(); // 判断参数列表不为空 if (!Parameters.isEmpty()) for (IParameter parameter : Parameters) // 删除所有参数 request = this.help.removeParameter(request, parameter); + // 创建新的请求类 // IHttpRequestResponse newHttpRequestResponse = this.call.makeHttpRequest(httpService, request); IHttpRequestResponse newHttpRequestResponse = Root_Request.requestResponse(); @@ -63,7 +65,7 @@ public vulscan(BurpExtender burp, BurpAnalyzedRequest Root_Request,byte[] reques String[] domainNames = vulscan.AnalysisHost(headMap.get("Host")); - String[] paths = analyzeRequest.getUrl().getPath().split("/"); + String[] paths = analyzeRequest.getUrl().getPath().split("\\?",2)[0].split("/"); Map Yaml_Map = YamlUtil.readYaml(burp.Config_l.yaml_path); List> Listx = (List>) Yaml_Map.get("Load_List");