본문 바로가기
🚩CTF Write up

authorization 2 - SegFault Web Hacking CTF Write up

by Prof. Panda 2024. 2. 24.

CTF 문제의 목표

본 CTF 문제는 인증인가 취약점을 활용해 인증인가 과정을 우회하는 공격을 실습해보기 위한 문제입니다.

실습 환경

본 문제는 아래와 같은 환경과 도구를 통해 테스트하였습니다.

  • Windows 10
  • Burp Suite

풀이 단계

  1. 웹페이지 접근 및 분석
  2. 권한 체크 작동 원리 리버싱
    1. goMenu 함수 위치 파악
    2. goMenu 함수 분석
    3. user_auth_check 함수를 분석, 할 수도 있으나 
  3. 직접 접근을 통한 인증우회

상세한 문제풀이

1) 웹페이지는 이렇습니다. 단순하게 버튼을 클릭해보겠습니다. 그러면 권한이 없다고 합니다. 어떤 원리로 권한을 체크하는지 확인해볼 필요가 있습니다.

2-1) goMenu라는 함수를 호출하는 것을 볼 수 있으며 1018을 인자를 보내는 것을 볼 수 있습니다. goMenu가 어디에 정의되어있는지 찾아보겠습니다. "<script type="text/javascript" src="./js/user.js">"으로 정의된 부분, 즉 user.js에 해당 함수가 정의된 것을 찾았습니다.

2-2) 해당 함수는 code, userLevel을 인자로 받으며 내부적으로 user_auth_check이라는 함수를 호출합니다. 해당 함수에도 접근해볼 필요가 있습니다. user_auth_check라는 함수에서 true를 return할 때 /fire_nuclear_attack.php으로 접근하도록 합니다.

3) 하지만 그 전에 먼저 체크해볼 것은 목적지의 링크가 이미 노출이 되었다는 것입니다. 바로 "./fire_nuclear_Attack.php"입니다. 혹시나 해당 링크로 바로 접근이 가능한지 먼저 확인해보면, 이렇게 플래그를 획득할 수 있습니다.