Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

White Security

[wargame.kr] type confusion 문제풀이 본문

Wargame Writeups/wargame.kr

[wargame.kr] type confusion 문제풀이

POSIX 2019. 1. 22. 13:04

wargame.kr 사이트의 12번째 문제 입니다.



"간단한 비교 문제입니다. 힌트요? 문제 제목을 보세요 :D"



링크에 접속하면 입력값을 넣는 폼과 소스 확인용 링크가 나옵니다.



소스를 확인해보니 입력된 텍스트를 submit_check 함수를 통해 json 형식으로 전송하고 있네요.

submit_check함수는 ./util.js 내에 포함되어 있지만, 중요하지 않으니 생략했습니다.


json형식으로 받은 데이터를 json_decode 함수를 통해 풀어내어

mixed 타입 변수로 바꾸었군요.

그리고 $key와 == 연산자로 느슨한 비교를 수행하여

같으면 Flag를 출력하도록 하고 있습니다.



예시로 posix 를 입력하고 제출하면

json 파라미터에 URI 인코딩 된 형태로 전송됩니다.



burp 프록시를 사용해 "posix" 와 같이 텍스트 형식으로 되어 있던 것을

불리언 형식인 true 로 바꾸어 주었습니다. (따옴표 삭제)


PHP 느슨한 비교 규칙에 의해

$key 값이 0, false, null 과 같은 값만 아니라면 true 를 반환하게 되어 우회에 성공합니다.


Key를 얻는데에 성공했습니다.

Comments