Allgemein

XSS Cheat Sheet und PHP Tipps für mehr Sicherheit

Jeder Programmierer sollte beim Entwickeln von Websites darauf achten, dass Eingaben vom Benutzer in Formularen oder bei Seitenaufrufen mit Parameterübergabe (link.php?url=www.netzware.net&typ=1) so sicher wie möglich sind. Es kommt nämlich immer wieder vor das über kleine Sicherheitslücken ganze Datenbanken ausgespäht werden. Gerade XSS-Lücken sind nicht zu vergessen.

Fertige PHP Sicherheitsfunktionen

In PHP gibt es bereits Funktionen mit denen Eingaben gesäubert werden können. Eine nennt sich htmlentities($wert, ENT_QUOTES), eine weitere heißt strip_tags($wert) und die dritte Funktion ist gerade in Verbindung mit Datenbanken zu empfehlen: mysql_real_escape_string($wert). (Bei der Funktion mysql_real_escape() muss eine Datenbankverbindung vorhanden sein, ansonsten ist diese nicht verfügbar.)

Da man nie sicher genug sein kann und sich gegen jede Art von Angriffen schützen muss, habe ich hier eine kleine PHP Funktion für euch, mit der übergebene Daten gecleant werden:

<?php
// — dataCleaner
// @param = data string
function dataCleaner($str){
if(ini_get(‚magic_quotes_gpc‘)){
  $str = stripslashes($str);
 }
  $str = strip_tags($str);
  $str = trim($str);
  $str = htmlspecialchars($str);
  $str = mysql_real_escape_string($str);
return $str;
}
?>

XSS Cheat Sheet

Wer jetzt seine Website auf Sicherheitslücken prüfen möchte kann sich am besten das XSS-Cheat-Sheet auf owasp.org ansehen. In dem Cheat-Sheet stehen viele tolle und auch ekelige XSS-Codes und Tipps.

Viel Spaß beim Testen! Über weitere Tipps und Anregungen von euch freue ich mich 😉