Browse code

Fix XSS Clientcert

Hanno authored on 25/01/2019 09:53:37
Showing 2 changed files
... ...
@@ -64,7 +64,8 @@ if ($certs != null) {
64 64
     output('<p>Sie haben bereits Zertifikate für den Zugang eingerichtet.</p>
65 65
   <ul>');
66 66
     foreach ($certs as $cert) {
67
-        output('<li>'.$cert['dn'].' / Seriennummer '.$cert['serial'].' / '.'Gültig von '.$cert['valid_from'].' bis '.$cert['valid_until'].'<br /><em>ausgestellt von </em>'.$cert['issuer']);
67
+        output('<li>'.filter_input_general($cert['dn'].' / Seriennummer '.$cert['serial'].' / '.'Gültig von '.$cert['valid_from'].' bis '.$cert['valid_until']).'<br />');
68
+        output('<em>ausgestellt von </em>'.filter_input_general($cert['issuer']));
68 69
         output('<br />'.internal_link('certsave', 'Dieses Zertifikat löschen', 'action=delete&id='.$cert['id']));
69 70
         output('</li>');
70 71
     }
... ...
@@ -68,7 +68,7 @@ if ($_GET['action'] == 'new') {
68 68
     }
69 69
     $sure = user_is_sure();
70 70
     if ($sure === null) {
71
-        are_you_sure("action=delete&id={$cert['id']}", "Möchten Sie das Zertifikat »{$cert['dn']}« (Seriennummer {$cert['serial']}, Gültig von {$cert['valid_from']} bis {$cert['valid_until']}) wirklich löschen?");
71
+        are_you_sure("action=delete&id={$cert['id']}", filter_input_general("Möchten Sie das Zertifikat »{$cert['dn']}« (Seriennummer {$cert['serial']}, Gültig von {$cert['valid_from']} bis {$cert['valid_until']}) wirklich löschen?"));
72 72
     } elseif ($sure === true) {
73 73
         delete_clientcert($cert['id']);
74 74
         if (! $debugmode) {