Web Security28 Grudnia 2024
Analiza podatności XSS w aplikacjach React
Jak zapobiegać atakom Cross-Site Scripting w nowoczesnych frameworkach JS. Przykłady kodu i dobre praktyki.
Cross-Site Scripting (XSS) to wciąż jedno z najczęstszych zagrożeń w aplikacjach webowych. W Reactcie jesteśmy częściowo chronieni przez domyślne "escapowanie" zmiennych, ale to nie wystarczy.
Gdzie leży zagrożenie?
Największe ryzyko pojawia się, gdy używamy atrybutu dangerouslySetInnerHTML. Jak sama nazwa wskazuje, jest to niebezpieczne. Hakerzy mogą wstrzyknąć złośliwy kod JavaScript, który wykradnie ciasteczka sesyjne użytkownika.
Jak się bronić?
- Nigdy nie ufaj danym od użytkownika.
- Stosuj biblioteki do sanityzacji danych, np. DOMPurify.
- Ustaw odpowiednie nagłówki Content-Security-Policy (CSP).
Pamiętaj: Bezpieczeństwo to proces, a nie produkt.