본문 바로가기

해킹

웹 쿠키가 공격 경로로 사용될 수 있다니?! 웹 해킹 1번 문제 풀이

이번 글에서는 같이 웹 해킹 1번 문제를 풀려고 합니다.

웹해킹.kr의 주소는 이름과 같이 https://webhacking.kr/ 입니다.

회원가입을 하시고 challenge(old)를 클릭하시면 문제들을 볼 수 있습니다.

 

1번 문제는 다른 내용 없이 소스코드를 볼 수 있는 버튼 하나가 있습니다.

 

 

소스코드 보기를 누르면 php로 작성된 소스코드가 나옵니다.

이전 글에서도 말했지만, 프로그래밍을 모르면 이 소스코드가 어떤 프로그램인지 감도 안잡힐 겁니다.

그래서 프로그래밍 경험은 필수! 입니다.

 

아래 php코드를 보면 쿠키값을 체크하는데요. $_COOKIE['user_lv']가 6과 크거나 같으면 1로 고정하고

5보다 크면 solve(1) 함수를 호출합니다. 아마도 solve라는 함수를 호출하게 되면 문제를 풀게 되는 것 같은데요

이번 문제에서 우리에게 알려주는 내용은 쿠키 값이 하나의 공격 경로가 될 수 있다는 겁니다.

 

 

모든 취약점들은 입력 값으로부터 발생하는데요. 일반 사용자들은 쿠키 값을 바꿀 수 없지만,

burp를 사용하거나 프로그래밍으로 구현하면 쿠키 값은  자유롭게 조작이 가능하기 때문에

쿠키 값은 하나의 입력 값이 될 수 있고 공격 경로가 될 수 있다는 것을 의미합니다.

 

그럼 풀이는 여기까지만 하겠습니다.

힌트는 모두 드렸어요. 만약 문제풀이를 어떻게 해야할지 모르신다면 

하나 더 힌트 나갑니다. 쿠키 값은 정수가 될수도 있고, 실수가 될 수도 있습니다.

만약 C언어를 공부해보셨다면, float 이라는 자료형이 담는 값에서 5보다 크고 6보다 작은 

값이 뭔지 아신다면 이미 문제를 해결할 줄 아시는겁니다^^