문제 설명을 보면 간단한 비교 문제이고, 힌트는 이 문제의 제목이라고 한다.
문제 페이지를 보면 입력창만 하나가 있다.
소스코드를 보면 post 방식으로 입력받고 있는데,
json_decode() 함수로 입력 받은 값을 json 값으로 바꿔준다.
key 값이 true면 flag를 출력하는 것 같다.
post 방식으로 입력받기 때문에 프록시 툴을 이용해서 입력 값을 가로채주면 다음과 같은 값이 나온다.
이 값은 url 인코딩 된 값이기 때문에 decode 해주면 다음과 같이 {"key":"123"} 의 값이 나온다.
저 값에서 123을 true로 바꾼후 값을 전달해 주면 flag를 얻을 수 있다.
true는 문자열이 아닌 boolean형 자료형이기때문에 "값인 %22도 함께 삭제해야 한다.
알게된 점 : json 관련 취약점, php json_decode() 함수
'Security & Hacking > Wargame' 카테고리의 다른 글
[LoS] cobolt (0) | 2019.11.26 |
---|---|
[LoS] gremlin (0) | 2019.11.26 |
[Wargame.kr] tmitter (0) | 2019.09.07 |
[Wargame.kr] md5_compare (0) | 2019.09.03 |
[Wargame.kr] strcmp (0) | 2019.09.02 |