Infra/Security
[Security] CSRF ๋?
carsumin
2026. 2. 10. 15:48
CSRF (Cross-Site Request Forgery)
- ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธ ์ํ๋ฅผ ์ ์ฉํด์ ๊ณต๊ฒฉ์๊ฐ ์๋ํ ์์ฒญ์ ์๋ฒ์ ๋์ ๋ณด๋ด๊ฒ ๋ง๋๋ ๊ณต๊ฒฉ
์ด๋ป๊ฒ ๊ณต๊ฒฉ์ด ๋๋์ง?
1. ์ฌ์ฉ์๊ฐ ์๋น์ค์ ๋ก๊ทธ์ธ (์ฟ ํค๋ก ์ธ์ฆ)
2. ์ฌ์ฉ์๊ฐ ๊ณต๊ฒฉ์ ์ฌ์ดํธ๋ฅผ ๋ฐฉ๋ฌธ
3. ๊ณต๊ฒฉ์ ์ฌ์ดํธ์ ์ด๋ฐ ์ฝ๋๊ฐ ์์
<form action="https://our-service.com/api/users/withdraw" method="POST">
<input type="hidden" name="amount" value="1000000">
</form>
<script>document.forms[0].submit()</script>
4. ๋ธ๋ผ์ฐ์ ๋ ์ฟ ํค๋ฅผ ์๋์ผ๋ก ๊ฐ์ด ์ ์ก
5. ์๋ฒ๋ ์ ์ ๋ก๊ทธ์ธ ์ฌ์ฉ์ ์์ฒญ์ผ๋ก ์คํด
CSRF ์ฑ๋ฆฝ ์กฐ๊ฑด
- ์ธ์ฆ ์๋จ์ด ์ฟ ํค ๊ธฐ๋ฐ์ผ ๊ฒ
- ๋ธ๋ผ์ฐ์ ๊ฐ ์๋์ผ๋ก ์ธ์ฆ ์ ๋ณด ์ ์กํ ๊ฒ
| ์ธ์ + ์ฟ ํค | โ ๋ฐ๋์ ํ์ |
| JWT + Header | โ ๋ถํ์ |
| ์์ REST API | โ disable |