본문 바로가기

CTF/Write-up

BITSCTF Riskv and Reward

리버싱 20점은 러버덕 펌웨어 파일이 주어졌는데 어떻게 해야하는지 아예 몰라서 못풀었다.

그래서 80점 자리만 잡고있었는데 elf 64비트 파일이 주어졌다. 

아이다로 열어봤더니 안열리고 실행도 안됬다.

계속 구글링만하다가 게싱을 해보자는 생각으로 헥스에디터를 실행했다.


바이너리 용량이 얼마 안되서 천천히 내려보았다. 가장먼저 눈에 띄는건 위의 문자열이다.

해당 문자열을 보면 플래그를 섞어놓은것 처럼 보이는데 BITSCTF{}이걸 추측할 수있다.

이 문제는 Alex 리버싱 100점이랑 비슷한데플래그를 뽑으려면 alex처럼 리스트가 있어야 할거같았다.

그래서 BITSCTF를 배열에서 찾아보면 B = 0x28, I = 0x21 이런값이란걸 알 수 있다.

이걸 헥스에디터에서 검색했더니 저 배열 바로 밑에 리스트가있었다.


그냥 운이 좋았다.

0x18 = } 이라는것을 알 수 있으니 코드를 짜면


1
2
3
4
5
6
7
8
= "tjb3csFt0rrutrh_wiv5__fi}k_1ih`{xIcrhsoyBmyw1CyT3rvxStT_jq40_zrq"
= [0x280x210x2F0x340x2D0x360x060x1F0x250x3B0x290x030x370x3E0x1B0x050x220x130x140x3A0x310x300x1A0x100x080x230x070x240x3c0x2c0x000x18]
result = ""
 
for x in range(len(b)):
    result += a[b[x]]
 
print result
cs

BITSCTF{s0m3_r1sc5_4r3_w0rth_1t} 이렇게 풀 수 있었다.

'CTF > Write-up' 카테고리의 다른 글

codegate 2017 angrybird  (2) 2017.02.11
AlexCTF Reverse Engineering  (0) 2017.02.06
insomnihack CTF bender_safe  (0) 2017.01.22
Plaid ctf prodmanager  (0) 2017.01.16
codegate 2014 angry doraemon  (0) 2017.01.15