Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Po stronie przeglądarki _ [angular] Emotikony

Napisany przez: Eagle 7.07.2018, 01:24:55

Cześć, potrzebuje w treści wprowadzonej przez użytkownika wstawić emotikony

w skrócie zamienić

  1. Hello :) World

na
  1. Hello <http://december.com/html/4/element/img.html src="/assets/smile.png"> World


Wykonuje to przy pomocy .replace() i .bypassSecurityTrustHtml(), problem pojawia się w sytuacji gdy użytkownik wyśle wiadomość o treści

  1. Hello <http://december.com/html/4/element/a.html href="#">:)</http://december.com/html/4/element/a.html> World


co pozwala na atak XSS. Macie pomysł jak wybrnąć z tej sytuacji?
Angular 2+ dokładniej 5.2.0

Napisany przez: markuz 8.07.2018, 20:13:52

Mógłbyś zaprezentować przykład takiego ataku na podstawie podmiany emotki na obrazek?

Napisany przez: Eagle 10.07.2018, 10:50:15

Aby wyświetlić emotikone, potrzebowałem zaznaczyć że przekazany tekst jest bezpieczny do renderowania.
W ten sposób osoba atakująca mogła wrzucić w treść wiadomości <iframe> czy inne tagi.

Zapomniałem, że mogę najpierw zrobić escape na otrzymanej wiadomości, później dokonać podmiany i na samym końcu oznaczyć jako "safe" facepalmxd.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)