본문 바로가기

Study records/Web hacking

[Beebox] 인증 결함(Broken Authentication)에 의한 취약점

Broken Authentication은 웹 애플리케이션이 사용자의 신원을 확인하거나 세션을 관리하는 과정에서 취약점을 가지고 있어, 악의적인 사용자가 다른 사람의 계정에 접근할 수 있는 상황을 말한다.

 

 

 

security level : medium 소스 코드

 

크롬 자바스크립트 콘솔에서 쉽게 해독 가능하다.

 

 

password 획득

 

로그인 성공

 

 

 

약한 비밀 번호는 사전 공격(dictionary attack)이나 무차별 대입 공격(brute force attack)으로 쉽게 해킹될 수 있다. 

 

 

 

 

sniper로 하나만 집중 공격(bug)

 

 

 

 

 

 

https://github.com/fuzzdb-project/fuzzdb/tree/master/wordlists-user-passwd 에서 자주 사용하는 패스워드 파일 다운로드하여 실습

 

 

 

 

 

아래 사이트는 비밀번호를 해독하는데 걸리는 시간과 같은 정보를 제공하여 비밀번호의 안전성을 측정한다. 

 

https://www.security.org/how-secure-is-my-password/

 

 

 

 

  • 강력한 비밀번호 정책: 최소 12자, 대문자, 소문자, 숫자, 특수 문자 포함.
  • 다단계 인증(MFA): 비밀번호 외에 추가 인증 단계 도입.
  • 비밀번호 저장: 해싱과 소금(salting) 사용.
  • 세션 관리: 안전한 세션 ID 생성, 타임아웃, HTTPS 사용.
  • 입력 검증: 서버 측 검증 및 화이트리스트 사용.
  • 자동화된 공격 방지: 계정 잠금, CAPTCHA 사용, 알림 시스템.
  • 보안 감사 및 모니터링: 정기적인 보안 점검, 로그 모니터링, 침입 탐지 시스템.
  • 교육 및 인식: 사용자와 개발자 교육.