wargame.kr

wargame.kr

[wargame.kr] md5 password

문제분석 & 풀이md5 함수에 대한 언급이 있다. md5 함수 취약점에 관한 문제인 것 같다. password를 입력하는 칸과 코드가 있다. 코드 분석1. 전송한 password를 이스케이프 처리 (22번줄, sqli를 방지하기 위해 사용)2. sql 쿼리를 실행하고 결과 레코드를 $row에 저장 (23번줄)3. 결과가 존재하면 flag를 화면에 출력 (24~26번줄) DB에 저장된 password를 맞추면 해결된다.  그러나 DB에 저장된 password를 알 수 없고 sql 인젝션으로 DB에 있는 데이터를 알아내야한다.  코드분석 2번에서 실행하는 쿼리는 다음과 같다.select * from admin_password where password='".md5($ps,true)."' 입력한 passwor..

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..

keyme
'wargame.kr' 카테고리의 글 목록 (3 Page)