[H3X0R CTF 2016]
Misc_20
is_this_real_hex
대회 시작부터 공개되었던 20점짜리 misc문제입니다. 초반에 다들 이 문제만 푸셨었더라구요..
무슨 문제인지 확인 해 봅시다.
문제를 다운받으면 26바이트짜리 파일이 있습니다.
출력 해 보니 깨진 문자를 포함한 스트링이 출력됩니다.
문제가 hex가 관련되어있으니 hexdump로 hex값을 뽑아봅니다.
python으로 해당 hex값을 1부터 더해주는 스크립트를 작성해봤습니다.
더하는 결과값으로는 플래그에 관련된 값을 찾을 수 없었습니다.
이제 빼봅시다.
모든 hex값에서 10을 뺐을 때
fl[g iy ^ong\in iy yo \}z_
라는 문자열이 출력되었습니다.
뭔가 flag 관련된 문자열인듯 하여 이 값을 파보았습니다.
[는 a가 될 것이고, y는 s가 되는 것 같습니다.
그리고 원래의 hex값이 95일 때 _가 됩니다.(문제 힌트에 format is FLAG_IS_THIS_FLAG 와 같이 주어졌습니다.)
확인 해 본 결과, 3, 7, 9, 13, 18, 20, 23, 24, 25, 26번째 자리가 변환되어있었으며, 각각 -10 한 결과에서 +6이나 -6만큼 해줄 때 알파벳으로 출력이 되었습니다.
위 코드처럼 직접 인덱스를 박아줘도 되지만, +6, -6 한 결과가 알파벳의 범위에 있을 경우 출력하는 코드로 작성해도 무방합니다.
위 플래그 값을 대문자로 입력 해주면 됩니다.
FLAG_IS_DONGBIN_IS_SO_CUTE
'CTF > H3X0R CTF 2016' 카테고리의 다른 글
[H3X0R CTF 2016] Web+Pwnable_120_Simple_Test(미완) (0) | 2016.05.16 |
---|---|
[H3X0R CTF 2016] Web_63_php_encrypt (0) | 2016.05.16 |
[H3X0R CTF 2016] Web_10_cmp (0) | 2016.05.16 |
[H3X0R CTF 2016] Misc_1_mic_no_check (0) | 2016.05.16 |
[H3X0R CTF 2016] Reversing_200_RPG Game (0) | 2016.05.16 |