[보안 해킹] 홈페이지 보안 취약점 - 권한 인증 취약점(세션 탈취)
■ 취약점 설명 및 사례
⑴ 취약점 설명
- 인증 시 일정한 규칙이 존재하는 세션 ID가 발급되거나 세션 타임아웃을 너무 길게 설정된 경우 공격자에 의해 사용자 권한이 도용될 수 있는 취약점
⑵ 사례
① OO대학 홈페이지에 로그인 후 로그아웃을 하지 않고, 웹 브라우저를 종료 후 재접속하면 세션(Session)이 유지되어 로그인 상태로 접속됨
■ 점검 방법
⑴ 자신의 아이디로 로그인 후 세션 값을 이용하여 다른 웹 브라우저에서 중복 로그인 가능 여부 확인
① 일반 계정으로 로그인
② 프록시 프로그램을 활용하여 세션 값 확인
③ 새로운 웹 브라우저 실행 (예:Firefox)
④ 프록시 프로그램을 활용하여 기존의 세션 값으로 변조
⑤ 결과(변조된 세션 값으로 로그인 성공)
⑵ 여러 번 로그인을 시도하여 다음 로그인 대상의 세션 값이 특정한 규칙을 가지고 바뀌는지 확인
① 일반 계정으로 로그인
② 프록시 프로그램을 활용하여 세션 값 확인
③ 로그인 후 같은 아이디로 로그인
④ 세션값이 1씩 커지는 것을 확인
⑤ 로그아웃 후 프록시 프로그램을 활용하여 기존 세션 값에 1을 더한 값으로 변조
⑥ 결과(로그인 성공)
■ 대응 방안
⑴ 홈페이지 개발 보안 조치
① 홈페이지의 세션 ID는 로그인 시 마다 추측할 수 없는 새로운 세션 ID로 발급
② 세션 타음아웃 설졍을 통해 일정시간(최대 30분 이상) 동안 움직임이 없을 경우 자동 로그아웃 되도록 구현
※ 기재될 홈페이지 개발 보안 방안 - 불충분한 세션 관리를 참조, 소스코드를 수정하여 보안취약점을 조치
※ 문의 사항은 메일 : jyuhm@sntkor.com 이나 070-8611-4853
'Security > Hacking & Security' 카테고리의 다른 글
[보안 해킹] 홈페이지 보안 취약점 - 에러처리 취약점 (0) | 2016.10.18 |
---|---|
[보안 해킹] 홈페이지 보안 취약점 - 권한 인증 취약점(쿠키 변조) (0) | 2016.10.18 |
[보안 해킹] 홈페이지 보안 취약점 - 권한 인증 취약점(파라미터/URL 변조) (0) | 2016.10.17 |
[보안 해킹] 홈페이지 보안 취약점 - SQL Injection 취약점 (0) | 2016.10.14 |
[보안 해킹] 홈페이지 보안 취약점 - 크로스 사이트 스크립트(XSS) 취약점 (0) | 2016.10.14 |