スキャンした30のWebサイトのリストがあります。個別のウェブサイトごとにレポートを引き出す必要があります。できますか?現在、私はレポートを実行して30のすべての結果を取得しているだけで、それをふるいにかける時間のない膨大なデータの塊になってしまいます。
ZAPレポートは間違いなくいくつかの改善と関係があります。ただし、ZAP APIを介してJSONおよびXML形式ですべてのアラートにアクセスできます。 (オプションを使用して)APIを有効にすると、次のようなURLにアクセスできます。
http://zap/JSON/core/view/alerts/?baseurl=http%3A%2F%2Fwww.example.com%2F&start=&count=
www.example.comで報告されたすべてのアラートを取得する
参考までに、ZAPユーザーグループがあります。 http://groups.google.com/group/zaproxy-users ZAPの[オンライン]メニューからもアクセスできます。それはおそらくZAP固有の質問のためのより良いフォーラムです:)
Owsap-zapの最近の更新に従って、アラートレポートを生成できますpdfとして生成できます
レポートの下で見つけることができます->アラートレポートの生成
レポートの設計方法を設計するために、オプションでレポートを構成できます->レポート
このネイティブJava ZAP APIのクライアント: https://github.com/continuumsecurity/zap-Java-api を使用することもできます。
それからあなたは行うことができます:
ZAProxyScanner zaproxy = new ZAProxyScanner(Host, PORT, "");
getAlertsByHost(zaproxy.getAlerts());
private Map<String, List<Alert>> getAlertsByHost(List<Alert> alerts) {
Map<String, List<Alert>> alertsByHost = new HashMap<String, List<Alert>>();
for (Alert alert : alerts) {
URL url = null;
try {
url = new URL(alert.getUrl());
String Host = url.getHost();
if (alertsByHost.get(Host) == null) {
alertsByHost.put(Host, new ArrayList<Alert>());
}
alertsByHost.get(Host).add(alert);
} catch (MalformedURLException e) {
System.err.println("Skipping malformed URL: "+alert.getUrl());
e.printStackTrace();
}
}
return alertsByHost;
}