본문 바로가기

웹 해킹/기타 웹 취약점

[주통기 웹 취약점] 약한 문자열 강도, 취약한 패스워드 복구

 

약한 문자열 강도

: 사용자 계정, pw 등이 반복되는 패턴을 가지거나 추측하기 용이한 문자열로 이루어진 경우 예측이나 패스워드 크래킹 공격으로 탈취가 가능한 취약점

 

사용자의 정보를 탈취하거나 관리자 계정 탈취를 통해 서비스를 장악할 수 있는 위험도 높은 취약점이다.

 

 

 

[보안 설정]

- 취약한 계정 및 패스워드를 삭제하고, 사용자가 취약한 계정이나 패스워드를 등록하지 못하도록 패스워드 규정이 반영된 체크 로직을 회원가입, 정보변경, 패스워드 변경 등 적용 필요한 페이지에 모두 구현

 


 

취약한 패스워드 복구

: 패스워드 변경과 같은 프로세스에서 공격자가 다른 사용자의 패스워드를 획득, 변경할 가능성이 있는 취약점

 

패스워드를 찾을 때 다른 인증을 요구하지 않고 사용자 화면에서 바로 표출하는 경우 혹은 임시로 생성된 PW가 예측 가능한 경우에 취약하다고 판단한다.

 

이를 이용해 공격자는 불법적으로 다른 사용자의 패스워드를 획득, 변경하여 사용자 권한을 악용할 수 있다.

 

 

 

 

[보안 설정]

- 사용자의 개인정보(연락처, 주소, 메일 주소 등)로 패스워드를 생성하지 말아야 하며, 난수를 이용한 불규칙적이고 최소 길이(6자 이상 권고) 이상의 패턴이 없는 패스워드를 발급하여야 함

 

- 사용자 패스워드를 발급해주거나 확인해줄 때 웹 사이트 화면에 바로 출력해주는 것이 아니라 인증된 사용자 메일이나 SMS로 전송해주어야 함

 

- 패스워드 재발급 검증 실패에 대한 임계값을 설정하여 일정 횟수 이상 실패한 경우 다른 방식으로 패스워드 찾기 기능을 제공하여야 한다.

 

- 검증 후 기존의 패스워드가 아닌 임시패스워드를 발급하도록 설계해야 하며, 사용자가 임시패스워드를 발급받은 즉시 새로운 패스워드로 재설정하도록 구현하여야