1unitedpower: mysql: Login

Beitrag lesen

Also ich habe mir Deine, diesmal hinreichend sachliche Kritik ernst genommen und eine neue Version aufgelegt.

Du wolltest wohl schreiben, du hast diesmal meine hinreichend sachliche Kritik ernst genommen. Haben wir damit nun genug Seitenhiebe verteilt?

Aber gut, dass du die Sicherheitslücken nun schließt.

Außerdem ist das Skript anfällig für XSS-Angriffe. Die Funktion PrintUserList maskiert an einer Stelle die Variable $strUser nicht kontextgerecht.

[v] Erledigt.

htmlspecialchars ist ein Anfang, aber dein Zielkontext ist JavaScript. Um die XSS-Lücke zu schließen brauchst du json_encode. htmlspecialchars allein hilft hier nicht, weil es keine single Quotes maskiert. Das ließe sich zwar über ein zusätzliches Flag umschiffen, aber json_encode wäre der ordentliche Weg.

Du hast aber noch ein weiteres Problem. Deine Anwendung ist anfällig für CSRF-Angriffe. Damit kann ein Angreifer quasi beliebige Aktionen im Namen des Bentuzers ausführen. Da hilft auch dein Hinweis an den Nutzer nicht, dass er das Skript nur in einem bereits geschützten Bereich aufrufen darf. Dem Angreifer muss es nur gelingen sein authentifziertes Opfer auf seine Website zu locken.