Wargame.kr

Misc_650

pyc decompile



650점짜리 문제입니다. 정확한 분야를 정하기가 애매해서 Misc로 지정했습니다.

문제를 확인해보죠.



문제 페이지에 접속하면 서버 타임과 함께 bughela.pyc를 받을 수 있는 링크가 있습니다.

pyc파일을 받은 후 Easy Python Decompiler 툴을 이용하여 .py 파일로 변환시켜줬습니다.



bughela.py입니다.

소스를 확인해보니 %m/%d/HJEJSH 포맷으로 현재 로컬 타임을 받아옵니다.

그리고 start와 end 부분은 로컬 시, 로컬 분을 연산 한 결과로 집어 넣어줍니다.

하지만 로컬 타임과 서버 타임이 약 8분정도 차이나는 것을 확인 할 수 있습니다.



따라서 위와 같이 약간 변형을 시켜줍시다.

flag와 ok와 다를 때 die 함수로 가는 부분을 return ok로 바꾼 이유는 처음 함수에 접근했을 때 flag 값을 받아오기 위함입니다.



위는 bughela.py에서 GIVE_ME_FLAG 함수를 한번 호출하여 flag에 해당하는 값을 얻어오고, 그 값을 웹페이지에 요청하는 스크립트입니다.

5번째 라인의 두번째 GIVE_ME_FLAG 함수는 테스트를 위해 추가한 코드이니 신경 쓰지 않아도 무방합니다.



짠!

Key 값을 뱉어주네요.

'Wargame > Wargame.kr' 카테고리의 다른 글

[Wargame.kr] Web_650_crack crack crack it  (0) 2016.05.25
[Wargame.kr] Forensics_650_img recovery  (0) 2016.05.24
[Wargame.kr] Web_650_web chatting  (0) 2016.05.23
[Wargame.kr] Web_600_SimpleBoard  (0) 2016.05.21
[Wargame.kr] Web_600_tmitter  (0) 2016.05.20

+ Recent posts