상세 컨텐츠

본문 제목

[wargame.kr] LEVEL12_type confusion

카테고리 없음

by about_SC 2019. 7. 16. 10:35

본문

문제 진입.
문제의 제목을 참고하라는 메시지를 확인했다.

 

문제에 들어가보면 입력창 하나를 볼 수 있다.
소스를 보자.

 

gen_key()로 키를 생성하여 json 형식으로 전달된 key 값과 비교하여 일치할 경우 FLAG 획득이 가능하다.
gen_key()를 크랙하기엔 다소 무리가 있어보인다.

그래서, 힌트 그대로 제목을 참조해 문제를 풀어보기로 하자.
먼저 풀이를 시도하기전에 js 파일을 참조해 보자.

 

버튼을 누르면 ajax로 json형태의 데이터(key 값)를 전송하게 된다.
이 후, 서버에서 응답으로 온 json 형태의 데이터 중 code의 값이 참이면,
서버에서 응답으로 온 json 형태의 데이터 중 flag 값을 보여준다는 코드가 있다.
(js 파일은 본 이유는 데이터 전달 형태를 보여주기 위함)

 

 

자 문제를 풀어보자.
위의 방식대로 key 값에 BOOLEAN 값을 넣어 전송하게 되면
느슨한 비교가 적용된 코드로 인해 결과 값이 참이되어 FLAG 값 획득이 가능하게 된다.

**POINT : Type Confusion 에 대해 알고 있는가?