faecher:informatik:oberstufe:datenbanken:projekt:dokuwiki_plugin:sicherheit:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:datenbanken:projekt:dokuwiki_plugin:sicherheit:start [09.06.2021 13:06] – [Blacklisting/Whitelisting] sbelfaecher:informatik:oberstufe:datenbanken:projekt:dokuwiki_plugin:sicherheit:start [10.06.2021 13:27] (aktuell) – [SQL-Injections] sbel
Zeile 47: Zeile 47:
 ''1 OR id > 1'' ''1 OR id > 1''
  
-Werden alle Datensätze ausgegeben, denn an die Datenbank wird die Abfrage ''SELECT * FROM schueler WHERE id =  OR id > 1'' geschickt.+Werden alle Datensätze ausgegeben, denn an die Datenbank wird die Abfrage ''SELECT * FROM schueler WHERE id = OR id > 1'' geschickt.
  
 {{ :faecher:informatik:oberstufe:datenbanken:projekt:dbphp:phppdo:exploits_of_a_mom.png |}} {{ :faecher:informatik:oberstufe:datenbanken:projekt:dbphp:phppdo:exploits_of_a_mom.png |}}
Zeile 80: Zeile 80:
   * Beim Blacklisting kann man beispielsweise festlegen, dass die Verarbeitung abgebrochen wird, wenn bestimmte Zeichen in der Eingabe enthalten sind. Beispiel: "Wenn eimn ''='', ein '';'' ''<'' oder ''>'' im Namensfeld übergeben werden, wird die Verarbeitung abgebrochen."   * Beim Blacklisting kann man beispielsweise festlegen, dass die Verarbeitung abgebrochen wird, wenn bestimmte Zeichen in der Eingabe enthalten sind. Beispiel: "Wenn eimn ''='', ein '';'' ''<'' oder ''>'' im Namensfeld übergeben werden, wird die Verarbeitung abgebrochen."
   * Beim Whilelistinh legt man ein Muster fest, dem die Eingabe entsprechen muss um zur Weiterverarbeitung zugelassen zu werden. Beispiel. "Im Feld ''Postleitzahl'' muss eine Eingabe übergeben, die aus fünf Ziffern besteht."   * Beim Whilelistinh legt man ein Muster fest, dem die Eingabe entsprechen muss um zur Weiterverarbeitung zugelassen zu werden. Beispiel. "Im Feld ''Postleitzahl'' muss eine Eingabe übergeben, die aus fünf Ziffern besteht."
 +
 +Dieses Vorgehen nennt man "Input Sanitization" und wie man das auf mannigfaltige Art vollständig verkacken kann, [[https://www.youtube.com/playlist?list=PLKuX6iczGb3kuDsm2RFgbmRkTugkR9-UE|kann man sehr gut an der Luca-App betrachten]].
 +
 +===== Andere Angriffsvektoren =====
 +
 +Die Mitigation andrer Angriffsvektoren - wie z.B. Authentifikation und Rechtemanagement können wir an DokuWiki abgegeben, beispielsweise indem wir unser Plugin nur auf Seiten einbauen, auf die Angemeldete (DokuWiki-)Benutzer mit den entsprechenden Rechten zugreifen dürfen. Nun ist aber zu beachten, dass unsere Applikation durch Sicherheitslücken im DokuWiki-System beeinträchtigt werden kann: Hat DokuWiki eine Sicherheitslücke in seinem Authentifikations- und Rechtemanagement, ist unsere WebApp davon möglicherweise auch betroffen.
 +
 +Auch bei der Implementation muss man hier große Sorgfalt walten lassen, um unerwünschte Nebeneffekte zu vermeiden, wenn man beispielsweise aus Rechten, die ein Benutzer in DokuWiki hat Rechte innerhalb der WebApp ableiten möchte.
  • faecher/informatik/oberstufe/datenbanken/projekt/dokuwiki_plugin/sicherheit/start.1623243965.txt.gz
  • Zuletzt geändert: 09.06.2021 13:06
  • von sbel