{% extends "base.html" %} {% block title %}Security-Check{% endblock %} {% block content %}
Prüft, was ein normaler Studenten-Login (dein Account) von fremden Personen abrufen kann. Angezeigt werden ausschließlich Booleans und Anzahlen – keine Feldwerte, keine Speicherung. Grün = vom CIS sauber geschützt, Rot = Daten liegen mit diesem Account offen.
Das CIS basiert auf FH-Complete (Open Source, github.com/FH-Complete). Gefunden per Source-Review statt Raten — jede Zeile = eine Prüfung, die der Reichweiten-Check oben abdeckt oder die das Weiterentwickeln der Tests erlaubt.
| Stelle im Code | Mechanismus | Prüfung / Beobachtung |
|---|---|---|
| profile/index.php | Feld-Filter: $ansicht hide Geburtsdatum/-ort, Adresse, private Kontakte bei fremdem Profil; ausser mit Recht basis/kontakt | Check 2: grün = Code hält sich an sich selbst ✅ |
| include/benutzerberechtigung.class.php | Zentrale Prüfung $rechte->isBerechtigt('modul/recht', oe); Rollen/Rechte in tbl_berechtigung, tbl_rolleberechtigung | Audit-Kriterium: Jede Seite mit Personen-/Plandaten MUSS diese Klasse aufrufen — fehlender Aufruf = Fund. Unsere 4 roten Checks sind genau die Seiten ohne wirksame Prüfung (LV-Plan, Autocomplete, bild.php, stud_in_grp). |
| public/bild.php?src=person&person_id= | Foto-Schutz nur über person.foto_sperre (dann Dummy-Bild); keine Rollenprüfung, IDs fortlaufend | Check 3: Foto-IDOR. FIX-Hebel für den Report: foto_sperre default-mäßig einschalten oder Prüfung einbauen. |
| lvplan/stpl_week.php · stpl_kalender.php | Plan für beliebige pers_uid ohne Berechtigungscheck | Check 5: jeder Login sieht fremde Termine/Räume. Ist teils gewollt (Raumsuche) — Meldung: Umfang dokumentieren. |
| lvplan/lvplan_autocomplete.php | Autocomplete benutzer liefert ganzes Directory ohne Rollenfilter | Check 1: 5735 Personen / 5 Requests. |
| extensions/FHC-Core-Anwesenheiten | Prüfungen deklariert pro Action im Controller (PermissionLib->isBerechtigt) | Auf der Live-Instanz nicht installiert (404) — im Report als "nicht testbar" vermerken. |
| extensions/FHC-Core-DSMS | eigenes Datenschutz-Modul der Plattform | Belegt: Feldebene ist eine konfigurierte Funktion, kein Bug — ihre Korrektheit ist genau das, was Check 2 dynamisch validiert. |