(1) 대제목
1) 중제목
① 소제목
② 예시
CSRF(Cross-Site Request Forgery, 사이트 간 요청 위조)는 다른 사이트에서 피해자의 인증 권한을 도용해 서버에 요청을 보내는 공격 방식이다. 웹 애플리케이션의 사용자는 로그인 과정에서 세션 ID나 토큰 같은 인증 정보를 브라우저에 저장한다. 그리고 계정 권한이 필요한 요청을 서버로 보낼 때 이 정보를 사용한다. CSRF는 해당 인증 정보만 있다면 서버가 요청의 출처나 내용을 확인하지 않으므로 누구나 인가를 받을 수 있다는 취약점을 노린다.
⁰¹²³⁴⁵⁶⁷⁸⁹*⁾
(2) 중제목
① 콜아웃
아이콘은 주황색으로 표시한다. 아래는 예시일 뿐, 형태는 자유롭게 사용한다.
- 시나리오, 부가 설명
유저 로그인 시나리오
- 사용자가 로그인 폼에 아이디와 비밀번호를 입력함
- 프론트엔드: 아이디와 비밀번호 값의 유효성 검사 수행. XSS 공격 방지를 위해 특수문자 이스케이프 처리
- 프론트엔드: HTTPS로 데이터를 암호화하여 서버로 전송
- 백엔드: 전송된 데이터의 무결성 확인
- 백엔드: SQL Injection 방지를 위해 prepared statement로 데이터베이스 쿼리 실행
- 백엔드: 비밀번호를 해시 알고리즘으로 암호화
- 백엔드: 무차별 대입 공격 방지를 위해 로그인 시도 횟수 제한
- 백엔드: 로그인 성공 시 인증 토큰 생성 및 전송
- 프론트엔드: 받은 토큰을 안전하게 저장, 사용
- 안내
웹 기본 지식
- HTTP와 HTTP 요청/응답의 형식…
- 핵심 정리
프론트엔드: 사용자 입력 검증, 데이터 표시 보안 처리, 안전한 데이터 전송
백엔드: 원본 데이터 암호화, 저장, 검증, 접근 제어
② 표
제목 행
표시한다.값 | 의미 |
Strict | 교차 사이트에서 전송하는 요청에 쿠키를 추가하지 않음 |
Lax | URL이 바뀌는 화면 전환 및 GET 메서드를 사용한 요청이면 교차 사이트에도 쿠키를 전송함. 다른 방법을 사용하는 교차 사이트의 요청은 쿠키를 추가하지 않음 |
None | 사이트에 관계없이 모든 요청에 쿠키를 전송함 |
③ 코드 블럭
언어를 설정하고
코드 줄바꿈
한다.<form action="/" method="POST"> <input type="hidden" name="CSRF_TOKEN" value="SEcretTOken%1234&5678*90" /> </form>
④ 이미지
자료 이미지에는 캡션을 단다.
![[그림 2-1] 당당한 세균맨](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F6d7fa230-23c2-4b9c-b287-fdeb076e90bd%2F4e9c57c7-cbf4-451b-bfbf-eb0293a0dd6a%2FUntitled.png?table=block&id=10f0622b-ee99-48c2-b693-da15bc1cff8d&cache=v2)
[그림 2-1]은 당당한 세균맨을 나타내고 있다.