Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [angular] Emotikony
Eagle
post 7.07.2018, 01:24:55
Post #1





Grupa: Zarejestrowani
Postów: 170
Pomógł: 14
Dołączył: 16.03.2007

Ostrzeżenie: (0%)
-----


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

w skrócie zamienić
  1. Hello :) World

na
  1. Hello <img 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 <a href="#">:)</a> World


co pozwala na atak XSS. Macie pomysł jak wybrnąć z tej sytuacji?
Angular 2+ dokładniej 5.2.0
Go to the top of the page
+Quote Post
markuz
post 8.07.2018, 20:13:52
Post #2





Grupa: Zarejestrowani
Postów: 1 230
Pomógł: 274
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


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

Ten post edytował markuz 8.07.2018, 20:14:33
Go to the top of the page
+Quote Post
Eagle
post 10.07.2018, 10:50:15
Post #3





Grupa: Zarejestrowani
Postów: 170
Pomógł: 14
Dołączył: 16.03.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.10.2018 - 22:47