본문 바로가기
CTF./Sharif University CTF 2016

Serial Write-Up #Sharif University CTF 2016

by 낭람._. 2022. 7. 26.
반응형

Points : 150
Solves : 108
Description :

Run and capture the flag!

 

실행을 하면 문자열을 입력 받는다.

 

올바른 시리얼 넘버를 찾는 문제인 것 같다.

 

동적분석 하면서 찾은 첫번째 비교문이다. strlen 으로 0x10과 비교하고 있다.

 

입력 문자열의 길이는 10인 것을 알 수 있다.

 

첫번째 문자와 비교하는 부분이다. rbp-200h에 입력한 문자열이 들어간다.

첫번째 문자 : E

 

rbp-200h가 문자열의 시작이라면, rbp-1F1은 문자열의 맨 마지막이다.

첫번째 문자(E) + x = 0x9B가 되어야 한다. 

마지막 문자 : V (0x56)

 

두번째 문자와 비교하는 부분이다.

두번째 문자 : Z

 

두번째 문자와 문자열의 맨 마지막에서 두번째의 문자를 더한 값이 9B가 나와야한다.

두번째 문자(V) + x = 0x9B가 되어야 한다.

마지막에서 두번째 문자 : A (0x41)

 

위처럼 세번째 문자, 마지막에서 세번째 문자 순으로 쭉 나온다.

 

E(0x45) + 마지막 = 0x9B ➙ 0x56(V)
Z(0x5A)+ 마지막2 = 0x9B ➙ 0x41(A)
9(0x39)+ 마지막3 = 0x9B ➙ 0x62(b)
d(0x64)+마지막4 = 0x9B ➙ 0x37(7)
m(0x6D)+ 마지막5 = 0xB4 ➙ 0x47(G)
q(0x71)+ 마지막 6 = 0xAA ➙ 0x39(9)
4(0x34)+ 마지막7 = 0x9B ➙ 0x67(g)
c(0x63)+ 마지막8 = 0x9B ➙ 0x38(8)

 

flag : EZ9dmq4c8g9G7bAV

 

 

반응형

댓글