SuNiNaTaS
System Level2(Prob_24)
시스템 파트 2번째 문제입니다.
첫 번째 문제와는 달리 아무런 힌트도 주어지지 않은 상태에서 다운로드만 가능합니다.
다운로드명은 suninatas로, rwxrwxrwx권한이 주어져있지만 실행이 되지 않는 바이너리 형태였습니다.
혹시나 하는 마음에 .zip으로 확장자를 바꾼 후 압축 해제를 했더니 아니나 다를까, *.jar, *.apk를 압축해제 했을 때의 파일 구조를 보여주었습니다.
classes.dex 파일을 dex2jar 툴로 jar파일로 바꿔주도록 합시다.
classes-dex2jar.jar 파일을 jd-gui 툴을 이용하여 열어보았습니다.
해당 jar 파일 안에는 suninatas.class 파일이 존재했는데, 확인 해 보니 localObject1와 localObject2, paramAnonymousView 값에 각각 id, pw, key값을 받아내는 부분이 있었습니다. 그리고 정해진 key값이 들어오면 ~/chk_key.asp로 request요청을 날려주는데, id와 pw, key값을 모두 날려주는 것을 확인 할 수 있었습니다. 빨간 밑줄의 뒷 부분이 key값을 GET 형식으로 보내주는 부분입니다.
해당 url을 그대로 suninatas 웹페이지의 id, pw 그리고 class파일의 key값을 넣어 요청을 때렸더니 Wrong!Wrong!이라는 경고 메시지를 띄워줄 뿐 Auth Key를 뱉어주진 않았습니다.
그래서 직접 request를 때리지 않고 apk파일인만큼 직접 안드로이드에서 돌려보자는 생각을 해 보았습니다.
이클립스의 AVD 툴을 이용해 안드로이드 예뮬 환경 구축 후 직접 돌려보았습니다.
request 요청을 직접 때렸을 때와 달리 Auth Key값을 뱉어내는 것을 확인 할 수 있었습니다.
이번 문제는 가상 안드로이드 환경을 구축 할 수 있는지 없는지의 여부를 확인하는 문제였던 것 같습니다.
'Wargame > SuNiNaTaS' 카테고리의 다른 글
SuNiNaTaS System Level1(Prob_16) (0) | 2016.05.10 |
---|---|
SuNiNaTaS Web Level10(Prob_23) (0) | 2016.05.10 |
SuNiNaTaS Web Level9(Prob_22) (0) | 2016.05.09 |
SuNiNaTaS Web Level8 (0) | 2016.05.09 |
SuNiNaTaS Web Level7 (0) | 2016.05.09 |