Zeige Freewvs-Resultate an
bernd

bernd commited on 2008-12-21 08:54:55
Zeige 2 geänderte Dateien mit 70 Einfügungen und 13 Löschungen.


git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1201 87cf0b9e-d624-0410-a070-f6ee81989793
... ...
@@ -237,3 +237,31 @@ a {
237 237
 a:hover {
238 238
   text-decoration: underline;
239 239
 }
240
+
241
+div.freewvs {
242
+  width: 80%; 
243
+  padding: 0.5em; 
244
+  margin-bottom: 0.5em; 
245
+}
246
+
247
+div.freewvs-ok {
248
+  background-color: #bcfd8b; 
249
+  border: 2px solid #3c8e00;
250
+}
251
+
252
+div.freewvs-vulnerable {
253
+  background-color: #ff7070;
254
+  border: 2px solid red;
255
+}
256
+
257
+div.freewvs img {
258
+  float: right;
259
+  margin: 1em;
260
+}
261
+
262
+div.freewvs p {
263
+  margin: 0;
264
+  padding: 0;
265
+}
266
+
267
+
... ...
@@ -1,30 +1,59 @@
1 1
 <?php
2 2
 
3 3
 require_once('session/start.php');
4
+
5
+require_once('freewvs.php');
6
+
4 7
 require_role(array(ROLE_SYSTEMUSER));
5 8
 
6 9
 $uid = (int) $_SESSION['userinfo']['uid'];
7 10
 
8 11
 if (in_array($_POST['freq'],array("day","week","month"))) {
12
+  check_form_token('freewvs_freq'); 
9 13
 	db_query("REPLACE INTO qatools.freewvs (user,freq) VALUES ({$uid},'{$_POST['freq']}');");
10 14
 	header("Location: freewvs");
11 15
 	die();
12 16
 }
13 17
 
14
-output('<h3>Überprüfung Ihrer Web-Anwendungen auf Sicherheitslücken</h3>');
15
-
16 18
 $result = db_query("SELECT freq FROM qatools.v_freewvs WHERE uid={$uid};");
17 19
 $result=mysql_fetch_assoc($result);
18 20
 $freq=$result['freq'];
19 21
 
20
-output('<p>Mit dem Programm freewvs kann automatisiert geprüft werden, ob Ihre Web-Anwendungen (z.B. Blog-Software, Content-Management-Systeme, ...) noch aktuell sind oder ob es in den von Ihnen verwendeten Versionen Sicherheitslücken gibt.</p>
21
-<p>Diese Option ermöglicht Ihnen, vollautomatisch regelmäßige Prüfungen Ihrer Webanwendungen mit Hilfe von freewvs durchzuführen. Sollten Probleme festgestellt werden, erhalten Sie Informationen darüber per E-Mail.</p>');
22
-$form='
23
-<div style="margin-left: 2em;">
24
-  <p><input id="day" type="radio" name="freq" value="day" '.($freq=="day"?'checked="checked" ':"").'/><label for="day">täglich</label></p>
25
-  <p><input id="week" type="radio" name="freq" value="week" '.($freq=="week"?'checked="checked" ':"").'/><label for="week">wöchentlich</label></p>
26
-  <p><input id="month" type="radio" name="freq" value="month" '.($freq=="month"?'checked="checked" ':"").'/><label for="month">monatlich</label></p>
27
-  <p><input type="submit" value="Speichern"/></p>
28
-</div>';
29
-
30
-output(html_form('freewvs_freq','','',$form));
22
+output('<h3>Überprüfung Ihrer Web-Anwendungen auf Sicherheitslücken</h3>');
23
+
24
+output('<p>Das Programm freewvs prüft automatisch regelmäßig Ihre Web-Anwendungen (z.B. Blog-Software, Content-Management-Systeme, ...) auf bekannte Sicherheitsprobleme. Sie können festlegen, wie oft Sie bei gefundenen Problemen benachrichtigt werden möchten.</p>
25
+<p><strong>Wie oft möchten Sie über Sicherheitsprobleme benachrichtigt werden?</strong></p>
26
+'.html_form('freewvs_freq', '', '', '<p>'.html_select('freq', array('day' => 'täglich', 'week' => 'höchstens einmal pro Woche', 'month' => 'höchstens einmal pro Monat'), $freq).' &#160; <input type="submit" value="speichern" />').'</p>');
27
+
28
+$results = load_results();
29
+
30
+output('<h3>Aktuell installierte Web-Anwendungen</h3>
31
+<p>Die folgenden Web-Anwendungen wurden beim letzten Programmdurchlauf gefunden. Diese Liste wird i.d.R. täglich aktualisiert.</p>');
32
+foreach ($results AS $app) {
33
+  output("<div class='freewvs freewvs-{$app['state']}'>\n");
34
+  if ($app['state'] == 'ok') {
35
+    output("<img src='{$prefix}images/ok.png' />\n");
36
+    output("<p><strong>{$app['appname']} {$app['version']}</strong></p>\n");
37
+    output("<p>Diese Anwendung ist aktuell und hat keine allgemein bekannten Sicherheitsprobleme.</p>\n");
38
+    output("<p>Gefunden in {$app['directory']}</p>\n");
39
+  }
40
+  else {
41
+    $vulnlink = $app['vulninfo'];
42
+    if (substr($vulnlink, 0, 3) == 'CVE') {
43
+      $vulnlink = 'http://cve.mitre.org/cgi-bin/cvename.cgi?name='.$vulnlink;
44
+    }
45
+    output("<img src='{$prefix}images/error.png' />\n");
46
+    output("<p><strong>{$app['appname']} {$app['version']}</strong></p>\n");
47
+    if ($app['safeversion'] != '') {
48
+      output("<p>Diese Anwendung ist von Sicherheits-Problemen betroffen. Ein <strong>Update auf Version {$app['safeversion']}</strong> wird dringend empfohlen. Prüfen Sie anhand der unten genannten Referenz welche Gefahren von dieser Anwendung momentan ausgehen.</p>\n");
49
+    } else {
50
+      output("<p>Diese Anwendung ist von Sicherheits-Problemen betroffen. Leider gibt es <strong>momentan keine aktualisierte Version</strong>. Prüfen Sie bitte anhand der unten genannten Beschreibung des Problem die möglichen Gefahren eines weiteren Betriebs dieser Anwendung.</p>\n");
51
+    }
52
+    output("<p><strong>Referenz zu diesem Sicherheitsproblem: <a href='{$vulnlink}'>{$app['vulninfo']}</a></strong></p>");
53
+    output("<p>Gefunden in {$app['directory']}</p>\n");
54
+  }
55
+  output("</div>\n");
56
+  #output("<tr><td>{$app['appname']} ({$app['version']})</td><td>{$app['state']}</td></tr>");
57
+}
58
+#output('</table>');
59
+
31 60