1 분 소요

인증

  • 그 사람이 맞는지 확인하는 작업이다.

인가

  • 허락된 사람에게만 어떤 권한을 부여하는 것이다.

쿠키

  • 클라이언트 측에 저장되는 작은 기록 정보 파일이다.
  • 웹 서버로 보내는 작은 데이터 조각이다.

세션

  • 유저의 정보를 서버에 저장한다.
  • 서버에 유저의 인증정보를 저장한다.
  • 클라이언트의 인증 상태정보를 저장한다.
  • 연결 지속성을 제공하기위해 서버에 저장되는 정보이다.

세션 ID

  • 세션 테이블을 구분하기 위한 ID 이다.
  • 세션을 식별하기 위하여 사용되는 작은 데이터 이다.

인증 취약점

인증 우회

  • 인증 기능을 서버에 구현해야 하지만 클라이언트 측에서 인증 검사가 구현되었을 때 발생하는 취약점이다.
  • 인증을 해야 접속할 수 있는 코드가 주석 처리되어 코드에 남아있을 경우 인증 우회가 발생한다.

대응방안

  • 서버에서 인증 기능이 구현되어야 한다. 즉 서버에서 인증 검사를 하여야 한다.
  • 인증을 우회할 수 있는 민감한 정보가 클라이언트 측 스크립트에 남아 있으면 삭제하여야 한다.

인가 취약점

인가 우회

  • 서버에서 불충분한 검사에 의하여 발생한다.
  • 권한이 없는데 해당 정보를 확인하거나 수정 또는 삭제를 할 수 있다.
  • 파라미터 값 또는 쿠키 값을 통해 사용자를 구분한다면 사용자는 값 변조를 통해 열람 권한이 없는 다른 유저의 정보를 확인할 수 있다.

대응방안

  • 서버에서 세션을 통하여 권한이 있는 유저인지 판단하여야 한다.
  • 민감한 정보를 접근할 때 서버에서 세션 ID 또는 발급받은 토큰을 이용하여 권한이 있는지 검사하여야한다.

우회 팁

자바스크립트 난독화 되어 있을 때

정적 분석하기

  • 자바스크립트 난독화 해제 기능을 이용하여 난독화 해제하기.

동적 분석하기

  • true 가 되는 조건을 찾아 직접 실행시키기. 즉 인증이 되는 조건을 스크립트를 분석하여 찾아 실행시켜주면 된다.

HSTS 오류

  • 강제로 HTTPS 연결을 하게 만드는 옵션이다.
  • 동적 HSTS 정책에 저장된 도메인을 삭제해 주면 된다.

edge 브라우저 일 경우

  1. edge://net-internals/#hsts 에 접속한다.
  2. 삭제할 도메인 명을 입력해 준다.

Pasted image 20230616215502

chrome 브라우저 일 경우

  1. chrome://net-internals/#hsts 에 접속한다.
  2. 삭제할 도메인 명을 입력해 준다.

Pasted image 20230616215739

댓글남기기