웹 해킹 & 보안 완벽 가이드 06장 정리

2023. 10. 16. 19:24웹 해킹 & 보안 완벽 가이드 정리

06 인증 무력화

안전하지 않은 비밀번호

매우 짧은 비밀번호나 추측할 수 있는 비밀번호, 기본값 비밀번호

무차별 대입 공격이 가능한 로그인

EX) failedlogins=1이라는 쿠키를 써서 시도 횟수를 기록한다면 쿠키 임의 수정을 통해서 무차별 대입을 진행할 수 있다.

무차별 대입 공격 차단

인증을 위한 질문을 하는 페이지나 기능에는 모두 자동화된 공격을 차단해야 한다.

recaptcha 도입, 로그인 n번 실패 시 n 분 locked

불필요하게 상세한 로그인 페이지

로그인 시 user not found 처럼 사용자이름이 추측할 수 있는 에러 메시지를 출력하지 않는다.

로그인 정보의 취약성

HTTPS를 통해 로그인한다고 하더라도 제대로 처리하지 못한다면 여전히 유출될 수 있다.

많은 곳에서 인증이 필요 없는 곳에는 HTTP를 쓰고 인증이 필요할 경우에 HTTPS로 전환한다고 한다. 이 경우 HTTP로 로그인 페이지를 불러온 뒤 입력을 받고 HTTPS로 전환하는경우 안전하지 않다.

HTTPS로 로그인 페이지를 불러와야 한다.

비밀번호 번경 기능

현재 사용 중인 비밀번호를 무제한으로 추측해볼 수 있는 기능

제시된 사용자이름이 유효한지를 알리는 상세한 에러 메시지

고유하지 않은 사용자명 문제

같은 사용자이름을 사용하는 사용자가 다른 같은 사용자이름의 사용자와 같은 비밀번호를 등록 시에 이 과정을 통해 비밀번호를 알아낼 수 있다.

안전하지 않은 보관

로그인 정보를 암호화하지 않은 채 데이터베이스에 저장하는 경우

비밀번호가 MD5 SHA-1을 통한 암호화라면 공격자는 사전에 해시값에 대해 해시값을 알아낼 수 있다.

로그 감시 통지

모든 인증 관련 이벤트를 로깅 한다.

인증 관련 비정상 이벤트는 실시간 경고와 침해 방지 기능을 통해 처리하게 한다.

중요한 내용은 사용자에게 별도로 알린다는 EX) 비밀번호 변경