HTTP/ Web Security
CORS
이 정책을 통해서 공유해도 될 리소스, 안해야할 리소스 인지 기준을 만들었음
교차로 리소스를 공유하는 것으로 헤더가 기본 값이 아닌 경우 옵션에 대해서 프리플라이트 형태로 미리 서버에 요청을 보낸 후, 동작한다.
evan-moon.github.io/2020/05/21/about-cors/
CORS는 왜 이렇게 우리를 힘들게 하는걸까?
이번 포스팅에서는 웹 개발자라면 한번쯤은 얻어맞아 봤을 법한 정책에 대한 이야기를 해보려고 한다. 사실 웹 개발을 하다보면 CORS 정책 위반으로 인해 에러가 발생하는 상황은 굉장히 흔해서
evan-moon.github.io
GET으로 상태를 변화시키는 api는 절대 만들지(expose) 것
XSS
보안이 약한 웹 어플리케이션을 JS와 같은 웹 기반 공격
1. BP 은행의 고객 Alice가 로그인 함
2. Alice가 Bob에게 송금을 요청하는 api가 아래와 같다고 가정(말도 안되지만!!!)
GET http://bulletproofbank.com/transfer.do?recipient=Bob&amount=$500 HTTP/1.1
3. 공격자(Mallory)는 Alice가 자기에게 돈을 보내는 api 요청을 생성
GET http://bulletproofbank.com/transfer.do?recipient=attacker&amount=$500 HTTP/1.1
4. 낚시용 링크 전송(이메일, 쪽지, DM 등)
영화 (불지옥)반도 무료 티켓 2장 선착순!!
sanitized를 통해서 해결할 수 있다.
CSRF
클라이언트가 특정 서버에 접속했을 경우, 악의적으로 악성 코드를 설치하여 클라이언트가 다른 서버에 접속할 때 해당 서버를 공격 하게된다.
암호학
NaCl, libsodium, and Tink
cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html
Cross Site Scripting Prevention - OWASP Cheat Sheet Series
Cross Site Scripting Prevention Cheat Sheet Introduction This article provides a simple positive model for preventing XSS using output encoding properly. While there are a huge number of XSS attack vectors, following a few simple rules can completely defen
cheatsheetseries.owasp.org
최대한 최신 버전의 문서를 확인해야한다. 그리고 유저의 인풋을 절대 신뢰하지마라