들어가보면 flag를 입력하는 부분이 하나있다.
코드를 보면 다음과 같이 내가입력한 값과 global.encryptionKey값을 process함수에서 돌린다음 base64로 인코딩한 값이 소스상에있는 flag값과 같으면 된다.
process함수는 내가 입력한 flag값과 global.encryptionKey값을 아스키코드로 변환한 후 xor한 값을 다시 문자열로 변환하는 함수였다.
일단 global.encryptionKey값을 모르기 때문에 process함수안에 global.encryptionKey를 출력하는 코드를 삽입안 후 확인해보니 요런 값이 나왔다.
이제 이 값과 소스상에 나와있는 base64 인코딩된 flag값을 디코딩한 값을 아스키값으로 변환한후 xor해주면 내가 입력할 flag값을 구할 수 있다.
payload
'CTF > Writeup' 카테고리의 다른 글
SECCON CTF 2015 reverse-engineering-android-apk-1 (0) | 2018.02.12 |
---|---|
nullcon CTF 2018 web2 (0) | 2018.02.12 |
Codegate 2018 Welcome to droid (0) | 2018.02.09 |
Codegate 2018 Simple Cms Write up (0) | 2018.02.04 |
AceBear Security Contest 2018 BearShare2 Write up (0) | 2018.01.29 |