문제
Simple Compare Challenge.
hint? you can see the title of this challenge. :D
풀이
페이지 접근 시 간단한 입력폼과 view-source 하이퍼링크가 제공되고 있다 하어퍼링크를 통한 내용을 확인해보자.
코드 확인 시 사용자로부터 입력받은 내용과 “welcome to wargame.kr!_”을 sha1 해싱한 값이 ==비교인자로 일치한다면 flag 값을 출력 하는걸로 확인된다.
기존 strcmp 의 문제와 유사한 문제이다. php의 비교 연산자가 == 일 경우 입력값의 따른 결과를 True 로 출력 할 수 있도록 하는 문제이다. php 에서 비교연산자가 == or ===에 따라서 결과값은 다르게 출력되는 걸 확인할 수 있다.
이 문제에서는 “php”==true 를 비교하도록 만들어보자.
개발자 도구의 Elements 를 통해 ./util.js 를 참조 하는걸 확인할 수 있고 해당 페이지 접속 시 javascript의 내용을 확인할 수 있다. submit_check() 함수를 통해 입력 값을 key로 생성하고, submit(key) 함수를 통해 비교작업을 진행하는걸 확인할 수 있다. 해당 코드를 변조하여 작업을 진행해보자.
개발자 도구(F12) -> Console 을 통해 javascript 의 내용을 그대로 입력하여 함수를 수정한다. {key : key} 형태의 사전형식의 값을 {key : true} 로 변경 후 임의의 값을 입력해보자.
Congratulations! flag is 347e157e700c0d679f0e7a111b7ba8abe3011e09 |
Flag 값을 찾을 수 있고 제출 시 통과할 수 있다.
'Hacking > wargame.kr' 카테고리의 다른 글
[wargame.kr] Question 14. pyc decompile (0) | 2021.07.19 |
---|---|
[wargame.kr] Question 13. web chatting (0) | 2021.07.19 |
[wargame.kr] Question 11. tmitter (0) | 2021.06.28 |
[wargame.kr] Question 10. md5_compare (0) | 2021.06.28 |
[wargame.kr] Question 9. DB is really GOOD (0) | 2021.06.28 |