wargame.kr

wargame.kr

[wargame.kr] strcmp

문제분석 & 풀이strcmp 함수를 우회하면 flag를 획득할 수 있다고 한다. strcmp 함수와 관련된 취약점을 활용하는 문제인 것 같다. 패스워드 입력창과 코드가 주어진다. 코드를 분석해보자. " . $FLAG .""; exit(); } else { echo "Wrong password.."; } }?>○ 코드분석1) sha1 해시값을 $password에 저장한다. 2) 전송한 password와 $password를 strcmp 함수로 비교해서 결과가 같으면 flag 출력한다. 문제를 해결하기 위해서는 $password를 알아야 할 것 같은데, 아쉽게도 랜덤값이라서 알아낼 수 없다. 코드에서 strcmp()로 2개의 값을 비교하고 ..

wargame.kr

[wargame.kr] fly me to the moon

문제분석 & 풀이자바스크립트 게임이고 해킹해서 게임을 클리어 할 수 있는지 묻고 있다. 비행기 게임이 나온다. 우선 게임을 플레이해보자. 죽으면 31337점을 달성하라는 문구가 나온다. 아마도 31337점을 달성해야 클리어 되는 것 같다. 나는 게임 실력이 형편없기 때문에 실력으로 31337점을 달성하기는 힘들 것 같아서 개발자도구(F12)로 코드를 확인했다.  태그를 확인하면, 자바스크립트 코드가 난독화 되어있다. 자바스크립트 난독화 해제 사이트를 이용해서 코드 난독화를 해제하고 확인했지만, 변수명들이 복잡하게 구성됐다. 코드를 최상단에 _0x32bb 배열 안에 여러 변수들이 hex로 저장된 것을 확인할 수 있는데, 아래 코드들을 쭉 보면 사용하는 변수들이 모두 _0x32bb 배열 안의 변수들로 구성됐..

wargame.kr

[wargame.kr] WTF_CODE

문제분석 & 풀이프로그래밍 언어이고 읽을 수 있냐고 묻고 있다. ws 확장자 파일을 다운로드 받을 수 있게 되어있으며, 힌트와 연결해서 생각했을때 파일의 내용을 읽는 것이 목표인 것 같다. 파일을 다운로드 받고 txt로 확장자를 바꿔서 내용을 확인했다. 아무것도 보이지 않는다. 우선 ws 확장자와 관련된 프로그래밍 언어를 조사해보자. 찾아보니 ws는 whitespace의 약자로 whitespace 언어 파일의 확장자가 ws였다. ○ whitespace공백, 탭 , 개행문자로 이뤄진 언어로 스택기반의 명령형 프로그래밍 언어이다. source_code.ws 내용이 안보인 이유는 공백, 탭, 개행문자로 구성이 됐기 때문이다. 실제로 마우스 커서를 땡겨서 확인해보니 위와 같이 데이터가 저장된 것을 확인할 수 있..

wargame.kr

[wargame.kr] login filtering

문제분석 & 풀이힌트를 요약해보면 로그인 필터링을 우회해서 계정을 로그인하라는 내용인 것 같다. 문제에 접속하니 간단한 로그인 창이 구현되어있고 소스가 주어져있다. 개발자도구를 이용해 소스를 확인해보니 주석으로 두 개의 계정이 주어져있으며 막힌 계정이라고 한다. 실제로 로그인을 해보니 막힌 계정이라고 뜨는 것을 확인할 수 있다. 이제 소스를 확인해보자. 소스를 요약하면 다음과 같다.1. POST 데이터를 id 와 pw를 각각 id, ps 으로 값을 전송받는다.2. $key 변수에 flag값을 저장한다. (23번줄)3. 쿼리를 실행하고 실행결과 레코드가 존재하면서 id가 "guest" , "blueh4g"가 아니면 $key를 화면에 노출하고 클리어. (28~36번줄) 결론적으로 DB에 저장된 계정으로 로그..

wargame.kr

[wargame.kr] QR CODE PUZZLE

문제분석 & 풀이힌트를 보니 자바스크립트 문제라고 언급한 것을 봐서는 자바스크립트로 푸는 문제인 것 같다. 문제에 접속하니 QR 코드 퍼즐이 나온다. 이것을 원래 모양으로 만드는 것이 목표겠지만 필자는 퍼즐을 굉장히 못하기 때문에 만드는 것은 하지 않겠다.  힌트에서 자바스크립트 문제라고 언급했기 때문에 개발자도구(F12)를 이용해 자바스크립트 소스를 확인했다. script 태그의 첫 줄을 보면 id가 join_img인 div 태그에 QR 코드 퍼즐의 원본 이미지가 삽입된 것을 확인할 수 있다. 이때, src 속성을 통해 어디서 가져온 이미지인지 unescape()의 인자로 출처가 표시되었는데  문제는 출처가 이스케이프화 되어있어서 한번에 확인 할 수가 없다. 이미지의 출처를 확인하기 위해서는 unesc..

wargame.kr

[wargame.kr] already got

문제분석 & 풀이힌트를 먼저 살펴보니 HTTP Response header를 볼 수 있냐고 묻고있다. 문제에 접속하니 이미 키를 가지고 있다고 한다. 힌트와 엮어서 생각해보면 HTTP Response 패킷에서 header를 보면 flag값이 나오지 않을까?라고 추측해볼 수 있다. 패킷을 확인하기 위해 개발자도구(F12) -> Network 탭에 들어가서 Headers 를 살펴봤다. Response Headers 부분에 FLAG 값이 속성으로 있는 것을 확인 할 수 있다! 클리어!!

keyme
'wargame.kr' 태그의 글 목록 (2 Page)