Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 자료구조
- cgroup
- 유석종교수님
- python
- acc
- CodeEngn
- bWAPP
- fork-bomb
- beebox
- Linux
- wireshark
- Dreamhack
- EC2
- docker
- AWS
- Reversing
- cloud
- System
- mount
- pwnable
- c
- datastructure
- htmlinjection
- SISS
- Reflected
- Systemhacking
- 와이어샤크
- backjoon
- basicrce3
- 백준
Archives
- Today
- Total
Ctrl + Shift + ESC
[IT@Security] Web 취약점 13. 불충분한 인증 본문
불충분한 인증이란?
중요정보(개인정보 변경 등) 페이지에 대한 인증 절차가 불충분할 경우 권한이 없는 사용자가 중요정보 페이지에 접근하여 정보를 유출하거나 변조할 수 있으므로 중요정보 페이지에는 추가적인 인증 절차를 구현하여야 한다.
불충분한 인증 점검
| 점검 내용 | 중요 페이지 접근 시 추가 인증 요구 여부 점검 |
| 점검 목적 | 중요 페이지에 추가 인증으로 접근을 강화하여 불필요한 정보의 노출 및 변조를 차단하기 위함 |
| 점검 대상 | 웹 애플리케이션 소스코드 |
1. 중요정보(개인정보 변경 등) 페이지 접근 시 재인증 여부 확인

개인정보 수정 페이지에 접근 시 회원 비밀번호 확인을 통해 재인증을 하는 것을 확인했다.

수정한 회원 정보 저장 시에도 역시나 재인증을 하는 것을 확인할 수 있었다.
2. 인증 후 페이지에 아이디만을 인증 값으로 하여 변수로 관리되고 있는지 확인

admin 아이디를 입력해 접근해 보았다.

아이디만을 인증 값으로 하여 변수로 관리하고 있지 않은 것을 확인할 수 있었다.
abcd 역시 마찬가지였다.
보안 설정 방법
- 중요정보(개인정보 변경 등)를 표시하는 페이지에서는 본인 인증을 재확인하는 로직을 구현하고, 사용자가 인증 후 이용 가능한 페이지에 접근할 때마다 승인을 얻은 사용자인지 페이지마다 검증하여야 한다.
- 접근 통제 정책을 구현하고 있는 코드는 구조화, 모듈화가 되어 있어야 한다.
- 접근제어가 필요한 모든 페이지에 통제수단(로그인 체크 및 권한 체크)을 구현해야 하며 특히, 하나의 프로세스가 여러 개의 페이지 또는 모듈로 이루어져 있을 때 권한 체크가 누락되는 경우를 방지하기 위해서 공통 모듈을 사용하는 것을 권장한다.
- 인증 과정을 처리하는 부분에 Client Side Script(Javascript, VBScript 등)를 사용하면 사용자가 임의로 수정할 수 있으므로 Server Side Script(PHP, ASP, JSP 등)를 통하여 인증 및 필터링 과정을 수행한다.