Fehlerhafte Autorisierung auf Anwendungsebene

vorige Präsentation: Verlust der Vertraulichkeit sensibler Daten | zurück zum Buch-Kapitel [esc] | Nächste Präsentation Cross-Site Request Forgery (CSRF)

Die OWASP beschreibt dieses Problem allgemein so:

Die meisten betroffenen Anwendungen realisieren Zugriffsberechtigungen nur durch das Anzeigen oder Ausblenden von Funktionen in der Benutzeroberfläche. Allerdings muss auch beim direkten Zugriff auf eine geschützte Funktion eine Prüfung der Zugriffsberechtigung auf dem Server stattfinden, ansonsten können Angreifer durch gezieltes Manipulieren von Anfragen ohne Autorisierung trotzdem auf diese zugreifen.

Nur was serverseitig geprüft wird ist sicher

Bei der Programmierung von Web-Applikationen muss man sich immer bewusst sein, dass Alles was im Client passiert, bzw vom Client geschickt wird, manipuliert werden kann. Meine serverseitigen Programme müssen jeden Input den sie bekommen selbst prüfen, und können sich nicht darauf verlassen dass so eine Prüfung bereits am Client passiert ist.

Gängige Fehleinschätzungen dieser Art sind:

Jede PHP-Datei, Jede URL ist ein Einstiegspunkt

Jede einzelne PHP-Datei die im Webspace liegt kann auch direkt über HTTP aufgerufen werden. Es bietet sich deswegen an in jeder PHP-Datei zuerst die Zugriffsrechte zu prüfen.

Php Code Prüfung der Zugriffsrechte am Anfang jeder PHP-Datei

<?php
  include "functions.php";
  check_permissions();
  // .... 

Mit der Funktion check_permissions haben wir hier eine zentrale Stelle geschaffen, an der alle Zugriffsrechte konfiguriert werden können.

Mehr

Die OWASP bietet noch vertiefende Informationen zu diesem Thema an:

Fehlerhafte Autorisierung auf Anwendungsebene

vorige Präsentation: Verlust der Vertraulichkeit sensibler Daten | zurück zum Buch-Kapitel [esc] | Nächste Präsentation Cross-Site Request Forgery (CSRF)

/

#