XSS
cross-site-script
웹사이트에서 의도치 않은 스크립트를 넣어서 실행시키는 기법
react dangerouslySetInnerHTML 나 innerHTML 속성을 이용해 불러왔을 때 사용자에게서 중요한 정보를 빼내는 스크립트가 실행되도록 할 수 있음
-> 공격을 막기위해 자동으로 차단해주는 라이브러리(Dompurify)가 있음
CSRF
cross-site request forgery
웹 어플리케이션 취약점 중 하나로 사용자가 자신의 의지와는 무관하게 의도한 행위를 서버에 요청하게 만드는 공격임
XSS는 클라이언트의 브라우저에서 발생하는 문제라면 CSRF는 서버에서 발생하는 문제임
CSRF 방지법
1.Referrer 검증
->request header에 있는 요청을 한 페이지의 정보가 담긴 referrer 속성을 검증하여 차단함. 개인 이메일에서 요청이 들어오는 것처럼 같은 도메인 상에서 요청이 들어오지 않는다면 차단함
2.CSRF Token 사용
->랜덤값을 사용자의 세션에 저장하고 모든 요청을 다 이 토큰을 이용해서 검증함
3.CAPTCHA 사용
->로봇인지 아닌치 체크하는 바로 그 CAPTCHA임. 이것으로 사용자가 의도한 요청인지 아니면 트리거로 동작하는지 알 수 있음