HTML5 Security - Sourcecode & Demos

Kapitel 1: XSS, JavaScript & Co.

1.1 Cross-Site Scripting

1.1.2 XSS der dritten Art: DOM-basiertes XSS

Listing 1.1:

DOM-basiertes-XSS.html?name=Irgendwas

Zur Demo des Angriffs müssen Sie das Irgendwas in der URL-Zeile des Browsers durch z.B.
<script>alert('XSS!')</script>
ersetzen. Sofern der Browser die <- und >-Zeichen nicht umkodiert, öffnet sich bein erneuten Laden der Seite die Alertbox.

1.2 HTML5 und Cross-Site Scripting

1.2.5 SVG ist eine Grafik?

Listing 1.2 (Aufrufen):

<svg xmlns="http://www.w3.org/2000/svg">
   <script  type="text/javascript">
      alert(1)
  </script>
</svg>

Listing 1.3 (Aufrufen):

<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg">
   <script  type="text/javascript">
      alert("Kein SVG-Bild, sondern ein XSS-Angriff!")
  </script>
</svg>

1.7 JavaScript Hijacking

1.7.1 Funktionen umdefinieren

Listing 1.6 (Aufrufen):
<script>
function multipliziere(a, b) {
   var c = a * b;
   alert(a + " mal " + b + " ergibt " + c);
}

setTimeout("multipliziere = function() {alert('Hi Jack was there');} ", 10000);

</script>

<input type="button" value="7 * 7 = ?" onclick="multipliziere(7,7);">
Listing 1.7 (Aufrufen):
<script>
var originalAlert = window.alert;   

function falscherAlert(nachricht) { 
   ausgabe = "Melde gehorsamst: " + nachricht;
   originalAlert(ausgabe);
}

window.alert = falscherAlert;

alert("Nichts zu melden!");
</script>

Kapitel 4: Clickjacking

4.1 Das klassische Clickjacking

Hier geht es zur Demo.