WebAssembly 와 관련된 리버싱 문제
어셈블리 리버싱이라고 해서 살짝 쫄았는데
그렇게 어렵지많은 않은 문제였다.
반응형
문제 페이지 주소와 함께
의문의 Base64 인코딩된 값이 주어진다.
문제페이지에 접속하면 이런 화면이 나온다.
pastebin 처럼
뭔가 간단한 메모를 작성해 서버에 저장할 수 있다.
문서작성 버튼을 누르면
이렇게 해당 문서에 대한 코드를 알려주는데
이 코드는 /load 페이지에 입력해서
내가 작성한 글을 불러올 수 있게하는 코드이다.
F12를 눌러 개발자 도구를 보니
code.wasm 파일에 이렇게 WebAssembly 가 써있었다.
내용이 엄청 많고 잘 모르는 분야라
일단 아무데나 브레이크 포인트 걸고 하나씩 넘기면서 보고 있었는데
개발자 도구에서 네트워크 탭을 보고
아까 내용에 1을 썼을 때 MQ== 라는 값이 서버에 전달되는것을 확인했다.
MQ== 은 1을 Base64 인코딩한 값이다.
문제에서 주어진 값도 Base64 였으니
저런 방식으로 전달해보면 어떨까 싶었다.
Burp Suite 도구를 이용해서
문서작성 버튼을 누를때 패킷을 잡아
result 파라미터에 문제에서 주어진 Base64 값을 넣어보았다.
response 패킷에서 어떤 code 가 나오는데
/load 에서 해당 코드를 넣고 불러오기를 하면
플래그를 찾을 수 있었다.
반응형
'CTF > 리버싱' 카테고리의 다른 글
[2022 화이트햇 콘테스트] 나-1 - 리버싱 / IDA / Pwntool (88) | 2023.12.14 |
---|---|
[n00bzCTF] EZrev - 리버싱 / Java (70) | 2023.07.03 |
[angstromCTF] zaza - 리버싱 / IDA (86) | 2023.05.22 |
[Space Heroes CTF] Galactic Federation - 리버싱 / IDA (69) | 2023.05.11 |
[Space Heroes CTF] Acheron - 리버싱 / IDA (44) | 2023.04.30 |