function invokeWith(msg,as) { var url = msg.getRequestHeader().getURI().toString(); var host = msg.getRequestHeader().getURI().getHost(); var cweId = 0 var wascId = 0 var alertRisk = 0 var alertReliability = 3 var alertTitle = 'Vulnerable Technology Found' if (msg.getRequestHeader().isSecure()) { site = 'https://' + host; } else { site = 'http://' + host; } url = 'http://127.0.0.1:8080/JSON/wappalyzer/view/listSite/?site=' + site; print('checking '+ url + 'for vulnerabilities where we know software AND version'); var msg2 = msg.cloneRequest(); var httpRequestHeader = msg.getRequestHeader() var method = "GET"; var requestUri = new org.apache.commons.httpclient.URI(url, true); var requestHeader = new org.parosproxy.paros.network.HttpRequestHeader(method, requestUri, "HTTP/1.0"); msg2.setRequestHeader(requestHeader); var sender = new org.parosproxy.paros.network.HttpSender(org.parosproxy.paros.model.Model.getSingleton().getOptionsParam().getConnectionParam(), true, 6) sender.sendAndReceive(msg2) var body = msg2.getResponseBody().toString() var myObj = JSON.parse(body); var shareInfoLen = Object.keys(myObj[site][0]).length; for (var i = 0; i < 30; i++) { if (myObj[site][i].cpe !== '') { if (myObj[site][i].version.length <10 && myObj[site][i].version.length >0) { str = myObj[site][i].cpe; str = str.replace(/\/a:/g, '\/:'); url = 'https://services.nvd.nist.gov/rest/json/cves/2.0?cpeName=' + str.replace("*", myObj[site][i].version); print(url) print('') var requestUri = new org.apache.commons.httpclient.URI(url, true); var requestHeader = new org.parosproxy.paros.network.HttpRequestHeader(method, requestUri, "HTTP/1.0"); msg2.setRequestHeader(requestHeader); var sender = new org.parosproxy.paros.network.HttpSender(org.parosproxy.paros.model.Model.getSingleton().getOptionsParam().getConnectionParam(), true, 6) sender.sendAndReceive(msg2) var body = msg2.getResponseBody().toString() var myObje = JSON.parse(body); if (myObje.totalResults >0 ) { print(myObje.totalResults + ' hits for ' + url); var alertDesc = myObj[site][i].technology var alertSolution = 'See ' + url } } } } print('finished') }