HACKING/WEB

[OWASP] 2. Broken Authentication

myejinni 2021. 9. 28. 18:55

[ Broken Authentication: 인증 취약점] 이란?

 

: 취약한 세션 관리나 인증 관리 허점을 이용해 공격자가 일반 사용자 또는 관리자로 위장 가능한 웹 어플리케이션 취약점.

 

인증 및 세션 관리에 대한 취약점 유형

 

1. 쿠키 변조

   : 쿠키 값을 변조해 타 사용자로 로그인을 시도할 수 있는 경우 

2. 세션 쿠키 타임아웃

   : 세션에 타임아웃이 지정되지 않을 경우 사용자가 로그아웃 하지 않으면 공용 pc 환경에서 다른 사람이 해당 세션을  사용할 수 있는 문제

3. 다중세션 사용

   : 여러 pc에서 로그인이 가능한 경우

 

공격 형태

 

: 공격자는 암호나 키, 세션 쿠키, 기타 인증 관련 토큰을 공격해 인증을 우회하고 다른 사용자의 ID를 가장

 

-세션 관리 공격 유형

 

1. 세션 하이재킹

   : 정상적으로 사용하는 사용자의 세션을 가로채는 일련의 행위

ex. 사용자 로그아웃 x=> 공격자 그대로 서비스 이어서 사용

    TCP 세션 하이재킹 공격: 공격자가 중간에서 연결을 가로챔=> 공격자와 서버 간 통신.

2. Session ID URL Rewriting Exploit

    : 세션 id가 url 상 노출될 때 가능한 공격

ex. 줌바밍: 온라인 원격 수업에 무단으로 침입해 음란 영상을 내보내는 공격

3. 세션 고정 취약점 공격

   : 로그인 하기 전 발급된 세션 id가 로그인 후에도 재사용되는 것을 이용한 취약점 

 

-취약한 인증 공격 유형

 

1. 크리덴셜 스터핑 공격

   :노출된 인증정보를 이용해 다른 사이트에 적용 

   ->일반적으로 동일한 계정과 암호를 여러 사이트에 사용하기에 이와 같은 공격이 가능함

2. 패스워드 스프레이 공격

   : 사람들이 많이 사용하는 패스워드를 사용자 계정에 무차별 대입해 인증을 무너뜨리는 공격

3. 피싱

   : 사람을 속여 정보를 얻어내는 사회공학적 기법

   : 특정 타깃을 노리는 스피어 피싱 & 타겟팅 공격

ex. 위장 사이트

 

취약점 점검 유형

 

1. JAVASCRIPT: document.cookie로 점검

2. DB 서버에 저장된 사용자 정보의 raw 데이터 열람 가능

3. 계정의 패스워드를 유추할 수 있는 지 점검

4. 쿠키 인증 시 쿠키 값의 변조로 인증을 통과할 수 있는지 점검

 

대응방법

 

1. 다중 인증 도입

2. 강력한 패스워드 정책

2. 전송 중의 자격 증명 보호

   : .SSL과 같은 로그인 트랜젝션 전체를 암호화

3. 서버 측 인증 기술 사용

   : Hidden Field, Client Side Cookie << Server Side Session ID 사용

4. 인증 관련 정보

   : Get 방식 << Post 방식

5. 동시 로그인 금지 및 암호화 채널 사용

 


[실습]