# 문제
애니팡을 하기위해 스마트폰을 샀다. 어떤 기기인가? 그리고 이 게임의 로더 파일명은 무엇인가?
# 풀이
최근 카카오톡 기반 모바일 게임이 급증하면서, 이에 대한 트래픽은 어떻게 되어 있는지 궁금해졌다. 패킷을 조작하여 점수를 바꿀 수 있는지, 게임을 하지 않고도 점수를 올릴 방법이 있는지 등. 다양한 공격 기법이 가능한지 여부를 확인하기 위해서이다.
본 문제는 이런 공격기법에 대한것보다는, 기본적인 질문으로 구성하였다.
1. 기기 정보는?
게임 시작과 동시에 캡쳐된 패킷이다. 어떤 요청이 나갔는지 살펴보기 위해 http.request 로 간단히 필터를 걸어 살펴본다. 대부분 비슷한 요청 쿼리를 확인 할 수 있다.
이 가운데, 다른 서버로 디바이스 정보가 나가고 있는 것을 볼 수 있다.
상세 정보를 살펴보면 os 버전정보 / 디바이스 / 통신사 / 제조사 등을 보내는데, Host가 api.geo.kontagent.ent이다. 이 호스트는 데이터 자료를 분석하는 업체이다. 애니팡에서 통계 정보를 분석하기 위해 이 업체를 사용하고 있는 것으로 알려져있다. (참고, 애니팡 운만 갖고 성공했을까? )
요청 상세 정보는 아래와 같다.
User-Agent: Dalvik/1.6.0 (Linux; U; Android 4.1.1; Galaxy Nexus Build/JRO03C)
Host: api.geo.kontagent.net
Connection: Keep-Alive
Accept-Encoding: gzip
만약 문제 풀이를 위해 빠르게 키를 찾고자 함이었거나 요청 URL의 파라미터 정보를 간단하게 본다면, 네트워크 마이너의 "파라미터" 탭에서 정보를 더 빠르게 확인할 수 있었을 것이다.
또는 같은 IP를 사용하는 다른 패킷의 요청 정보의 User-Agent를 이용해서 사용자의 모바일 기기 정보를 얻을 수도 있다. 예를 들어, 아래와 같은 정보이다.
2. 게임의 로더 파일명은?
게임이 플래시 기반으로 만들어진 것을 아는 사람이면 .swf 확장자 서치를 통해 로더파일의 이름을 빠르게 찾을 수 있었을 것이다. 이 파일은 게임 시작시 매번 서버로 부터 받아오는 것은 아니다. 이미 기기에 저장되어 있는 이 파일을 통해, 패킷 요청이 나간다. 즉 Referer를 보면 되는데, 요청 패킷의 상세 정보를 보면 이 내용을 확인 할 수 있다. (대회때 많은 사람들이 로더 파일명이라고 해서, 바이너리를 찾으려고 하는 것을 보았다. 모바일 게임은 일반 바이너리보다는 플래시 형태가 많다.)
POST /amfphp/gateway HTTP/1.1
Host: m-anipang7.stzapp.com
Accept: text/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, text/css, image/png, image/jpeg, image/gif;q=0.8, application/x-shockwave-flash, video/mp4;q=0.9, flv-application/octet-stream;q=0.8, video/x-flv;q=0.7, audio/mp4, application/futuresplash, */*;q=0.5
User-Agent: Mozilla/5.0 (Android; U; en) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/3.2
x-flash-version: 11,2,202,224
Connection: Keep-Alive
Referer: app:/AnipangLoader.swf/[[DYNAMIC]]/4
Content-Type: application/x-amf
Content-Length: 244
'Hack The Packet > @ 2012 POC' 카테고리의 다른 글
[우탱]IE_0day 취약점 찾기 (0) | 2012.11.21 |
---|---|
[GAL][Middle]웹쉘 찾기. (0) | 2012.11.21 |
필터왕 선발 대회 결과 (0) | 2012.11.13 |
2012 Hack The Packet 본선 결과 (0) | 2012.11.12 |
2012 HTP 온라인 예선 문제풀이 (1) | 2012.11.12 |