Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [angular] Emotikony
Forum PHP.pl > Forum > Po stronie przeglądarki
Eagle
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
markuz
Mógłbyś zaprezentować przykład takiego ataku na podstawie podmiany emotki na obrazek?
Eagle
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.