Thread XSS-Lücke gefixt (6 answers)
Opened by pq at 2019-07-11 20:31

pq
 2019-07-13 19:57
#190270 #190270
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
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: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread XSS-Lücke gefixt