워게임/CTFlearn

[CTFlearn] Adoni Assembler Chall - 프로그래밍

SecurityMan 2023. 3. 26. 11:00

 

CTFlearn의 여든번째 문제

 

사실 이 문제 전에 AudioEdit 라는 엄청 어려운 웹해킹 문제가 있는데

 

내가 못푸는건지 문제 서버가 이상한건지 계속 에러가 나서.. 일단 스킵했다.

 

반응형

 

이번 문제는 프로그래밍 카테고리에 있지만

 

사실 문제푸는데 프로그래밍은 필요없다.

 

난이도와 점수가 그걸 증명한다.

 

문제 설명을 읽어보면 대충 주어지는 adoni.asm 파일에서 플래그를 찾으라고 한다.

 

 

문제에서는 adoni.asm 과 readme 파일이 주어진다.

 

 

readme 파일은 문제에 대한 친절한 설명과 함께

 

어셈블리 프로그래밍에 대해 공부할 수 있는 유튜브 링크까지 주어진다.

 

 

사실 이번문제는 복잡하게 생각안해도 풀 수 있다.

 

adoni.asm 파일을 열어보면 이렇게 생겼다.

 

어셈블리 코드를 몰라도 된다.

 

가장 처음에 보이는게 section .data 에 있는 내용이다.

 

welcome, noflag, adoni, congrats 이름의 db가 있는게 보인다.

 

각 db에는 문자열들이 저장되어있는것처럼 보인다.

 

아래쪽으로 가면 _printflag 라는 함수처럼 보이는게 있는데

 

거기 내용을 보면

 

congrats 와 adoni db를 가져오는게 보인다.

 

문맥상 congrats 는 플래그를 찾아서 축하한다는 내용일 것이고

 

adoni db에 플래그가 들어있는것 같다.

 

 

플래그를 찾기전에 한번 확인해본다.

 

CyberChef(https://gchq.github.io/CyberChef)에서 congrats db 에 저장된 내용을

 

From Decimal 로 디코딩하면

 

Congrats, you found the flag! 라는 문장이 나온다.

 

 

마찬가지로 adoni db 에 있는 내용을 가져다 놓으면

 

이번엔 플래그가 출력된다.

반응형