Today I Learned …

[수업] 11주차 정리 본문

Study/수업

[수업] 11주차 정리

염베리 2021. 12. 23. 22:15

* 해당 주차의 수업 내용을 정리합니다.


* 입사

> 실전 경험

> 창의력/잔머리

 

* 일상 생활

> 식당에 갔다. 밥을 먹는다.

> 뷔페 : 인증

 

* 메가커피

1. 커피를 고른다.

2. 계산하기를 누른다.

3. 쿠폰 적립 유무 알림

4. 쿠폰 (핸드폰 번호 입력) → 쿠폰 적립

5. 카드를 꼽고 계산

6. 커피가 나온다.

 

* 방역패스

 

* 배달의 민족

> 배민 오더


* 인증/인가 취약점

> 인증과 인가가 불충분해서 발생하는 취약점

 

인증 : Authentication

- 그 사람이 맞는지 확인하는 작업

ex) 로그인 인증, 본인 인증, 휴대전화 인증, 카드 인증...

 

인가 : Authorization

- 권한을 부여하는 것

ex) 글의 수정을 허용하는 것, 삭제, 등등...


* 인증 취약점

> 다른 사람인 척 할 수 있다.

> 인증 우회

 

왜 마이페이지 띄울 때 비밀번호를 입력받을까?

- 세션 아이디를 탈취한 경우 마이페이지에 접속하는 것을 방지하기 위해서

: XSS

: MITM (중간자 공격)

→ 그러나 인증 프로세스가 연결되어 있지 않으면 비밀번호 확인을 거치지 않고 바로 마이페이지로 접속할 수 있다.

 

-- 인증 프로세스 무시 (직접 접근)

인증 토큰 (일회용)

 

1. mypage_before.php

인증 성공 : 토큰 발급(일회용)

 

2. mypage.php?token=sdjfiewjfi

 

-- 클라이언트 측 인증 Bypass

> Burp Suite(Proxy)를 이용해서 우회할 수 있다.

 

* 대응 방안

서버 측에서 검증한다.


* 인가 취약점

-- 일상생활 더 유익하게 만들어주는 지식

ex) 클래스 101 : ID 7자 이상으로 가입하기 ㅎ

 

권한 검증 (인가) 불충분하기 때문에 발생한다.

 

* 인가 취약점 대응방안

- 세션을 이용한 서버 측 검증

 

- 파일 다운로드 받았다!

로그인 하지 않고 파일을 다운로드 받을 수 있다면?

인강 결제 안하고도 전체 다 볼 수 있게 됨...

> 파일 다운로드 페이지

> 세션 검증


(1) SQL Injection

사용자의 입력값을 검증하지 않고 입력값을 SQL 구문의 일부로 사용해서 임의의 SQL 질의문을 삽입하는 공격

> 서버 측에 임의 SQL 질의문을 삽입하는 공격

 

* 뭘 할 수 있나요?

1. 데이터 추출

2. 인증 우회

3. 데이터 변조

 

* 유형

1. Union

2. Error

3. Blind

 

* 대응 방안!

- 사용자 입력 변수화 (Prepared Statement)

- 화이트 리스트 필터링

 

* Prepared Statement, 어디가 안먹힐까요?

- 정렬 (미리 컴파일 못해둠)

- Table 이름 위치

> 화이트 리스트 검증

 

(2) XSS
> 클라이언트 측에 임의 스크립트 코드를 삽입하는 공격

* 대응 방안

- HTML 특수문자들을 HTML Entity 방식으로 표현

 

(3) CSRF

> 피해자가 자신이 의도하지 않은 요청을 하게 만드는 공격

XSS와 연계

* 대응 방안

- 중요한 요청의 경우 추측할 수 없는 값을 삽입해서 처리한다.

 

(4) File Upload/Download

* 대응 방안

- File 관리 DB

- DB를 통해서 File 경로, 이름 관리

 

(5) 인증/인가

* 대응 방안

- 서버 측 검증


* E2E 암호화

End To End 암호화

 

** 프로젝트

- 취약점 없음

> E2E 껍질만 벗기면 노다지

 

[E2E 암호화 Bypass]

 

* False Positive

→ E2E는 무조건 우회할 수 있다.

 

* E2E 대응 방안

1. 암호화하는 로직을 내 컴퓨터에서 찾는다.

2. 찾았다면 다음의 방법을 선택한다.

(1) prompt를 이용한 데이터 확인 밎 변조

(2) False-Positive 이용, 평문으로 전송

(3) 함수 후킹

'Study > 수업' 카테고리의 다른 글

[수업] 13주차 정리  (0) 2022.01.13
[수업] 12주차 정리  (0) 2021.12.30
[수업] 10주차 정리  (0) 2021.12.16
[수업] 9주차 정리  (0) 2021.12.09
[수업] 8주차 정리  (0) 2021.12.02
프로필사진
berry
FE Developer, loves React & better DX
Comments