verhinderung von missbrauch von websites folgendes kann missbraucht
verhinderung von missbrauch von websites � folgendes kann missbraucht werden: v formulare v unverschlüsselte login-informationen v ungeschützte includes v SQL-injection 28. 11. 2008 reto ambühler (ambuehler@ethz. ch) 1
verhinderung von missbrauch von websites � formulare können missbraucht werden, wenn v sie öffentlich zugänglich sind v sie die eingabe von freiem text erlauben v sie die eingabe einer freien email-adresse erlauben v das zugehörige script den text an die email-adresse sendet das formular kann zum versenden von SPAM missbraucht werden ! 28. 11. 2008 reto ambühler (ambuehler@ethz. ch) 2
verhinderung von missbrauch von websites � verhindern des missbrauchs von formularen: v keine oder nur standard nachricht an freie email-adresse v zugang zum formular z. b. mit CAPTCHA beschränken v anmeldung mit username/passwort vorschalten naheliegend: NETZH-login verwenden. ja, aber. . . 28. 11. 2008 reto ambühler (ambuehler@ethz. ch) 3
verhinderung von missbrauch von websites � schützen der NETHZ-login daten: v daten nicht im klartext übertragen ! v benutzen sie SSL / https ! v falls die website im WCMS oder im traditionellen webhosting publiziert wird können wir ein zertifikat installieren 28. 11. 2008 reto ambühler (ambuehler@ethz. ch) 4
verhinderung von missbrauch von websites � missbrauch von programmgesteuerten sites: v aufruf der nächsten seite oder eines frames via script v beispiel: include $seite; v ermöglicht missbrauch wie: http: //www. SITE. ethz. ch/index. php? seite= http: //www. badguy. com/dobad. php 28. 11. 2008 reto ambühler (ambuehler@ethz. ch) 5
verhinderung von missbrauch von websites � verhindern des missbrauchs von programmgesteuerten sites: v prüfen des parameters, so dass nur lokale dateien akzeptiert werden v beispiel: filter mittels einer regular expression $pattern = ‘/^http|^https|^url|^ftp|: |www/’; if(preg_match($pattern, $seite)) $seite=”index. htm”; include $seite 28. 11. 2008 reto ambühler (ambuehler@ethz. ch) 6
verhinderung von missbrauch von websites � SQL-injection: v der datenbank-server wird dazu gebracht, eine willkürliche anweisung auszuführen v beispiel: 28. 11. 2008 reto ambühler (ambuehler@ethz. ch) 7
verhinderung von missbrauch von websites � 28. 11. 2008 SQL-injection (beispiel): reto ambühler (ambuehler@ethz. ch) 8
verhinderung von missbrauch von websites � verhindern von SQL-injection: v prüfen der parameter, so dass keine ungewollten aktionen ausgeführt werden können v beispiel: funktion mysql_real_escape_string in PHP: $abfrage = "SELECT spalte 1 FROM tabelle WHERE spalte 2 = '". $_POST['spalte 2 Wert'] '". mysql_real_escape_string($_POST['spalte 2 Wert']). "'"; 28. 11. 2008 reto ambühler (ambuehler@ethz. ch) 9
verhinderung von missbrauch von websites � verhindern von SQL-injection (fortsetzung): vlesen sie dokumentation zur verwendeten programmiersprache und datenbank 28. 11. 2008 reto ambühler (ambuehler@ethz. ch) 10
verhinderung von missbrauch von websites Ø bemerkungen ? Ø fragen ? Ø anregungen ? 28. 11. 2008 reto ambühler (ambuehler@ethz. ch) 11
- Slides: 11