private String getClearIssue() { String template = "The following software was detected <b>%s - %s</b>\n" + "No vulnerabilities found for current version."; return String.format(template, software.getName(), software.getVersion()); }
private String getVulnerableIssue() { String template = "The following vulnerabilities for software <b>%s - %s</b> found: <br/>"; String itemTemplate = "<li> %s - %s %s - %s <br/> %s <br/><br/>"; StringBuilder string = new StringBuilder(); string.append(String.format(template, software.getName(), software.getVersion())); for (final Vulnerability v: software.getVulnerabilities()) { string.append(String.format(itemTemplate, v.getItemLink(), v.getItemCvssScore(), v.getExploitLink(), v.getTitle(), v.getItemDescription() )); } return string.toString(); }
public void refreshTable(Map<String, Domain> domains , boolean showOnlyVulnerable) { defaultModel.setRowCount(0); for(Map.Entry<String, Domain> d: domains.entrySet()) { for (Map.Entry<String, Software> s: d.getValue().getSoftware().entrySet()) { if (showOnlyVulnerable && s.getValue().getVulnerabilities().size() <= 0) { continue; } defaultModel.addRow(new Object[] { d.getKey(), s.getValue().getName(), s.getValue().getVersion(), Utils.getMaxScore(s.getValue().getVulnerabilities()), //TODO move maxScore field to model Utils.getVulnersList(s.getValue().getVulnerabilities()) }); } } }
.routeParam("path", "software") .queryString("software", software.getAlias()) .queryString("version", software.getVersion()) .queryString("type", software.getMatchType()); callbacks.printOutput("[Vulners] start check for domain " + domainName + " for software " + software.getName() + "/" + software.getVersion() + " : " + request.getUrl());