Thread XSS-Lücke gefixt
(6 answers)
Opened by pq at 2019-07-11 20:31
Das Problem war folgendes im Template:
onClick="show_login('[%= .data.login.from escape=JS %]');return false" In .data.login.from steht der URL-Pfad, den man aufgerufen hat, ggfs. also auch HTML, welches man einschleusen möchte. Nach meinem ersten Fix sah es so aus: onClick="show_login('[%= .data.login.from escape=HTML|JS %]');return false" Richtig ist es aber umgekehrt - zuerst Javascript escapen, und dann nochmal HTML, weil es in einem HTML-Attribut steht: onClick="show_login('[%= .data.login.from escape=JS|HTML %]');return false" Die Lücke war zweimal vorhanden. Einmal in der Ansicht der letzten 24h, im Refresh-Button oben links in der Tabelle. Die zweite Stelle war weniger problemtisch, weil sie nur das Login-Fenster betraf, welches nur auftaucht, wenn man nicht eingeloggt ist. Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wie frage ich & perlintro brian's Leitfaden für jedes Perl-Problem |