간단한 포너블 문제
풀이수가 401 이나 되는걸 보니 아주 쉬웠나보다.
별다른 설명없이 원격으로 접속할 수 있는 주소만 주어진다.
nc 를 이용해 원격접속을 해보면
[flag]> 라는 프롬포터가 나오면서 사용자의 입력을 받는다.
그럼 사용자의 입력값이 플래그와 어느정도 일치하는지 검증한 후,
입력한 부분까지 일치한다면
플래그의 그 다음글자를 어떤 IPv4 주소의 랜덤한 부분과 XOR 한 결과를 알려준다.
일단 플래그 포맷이 flag{} 라는것을 알고 있기 때문에
맨 먼저 f 부터 입력해봤다.
여러번 반복해서 입력해본 결과
f 를 입력했을때 결과로 나오는 값은
0x1b, 0x6e, 0x7c 세 가지였다.
이 세 값이 f 다음글자인 l 과 XOR을 했을때 나오는 값은
0x77 0x02 0x10 세 가지이다.
이 세 가지 숫자가 IPv4 주소를 구성한 숫자라고 추측할 수 있다.
그럼 한글자씩 늘려가면서
0x77, 0x02, 0x10 과 각각 XOR 을 해보고 의미있는 문자열이 나오면
계속 플래그에 추가하는 방식으로 전체 플래그를 알아낼 수 있다.
Pwntool 을 이용해 문제를 풀어보려 했으나
네트워크 문젠지 너무 느려서 그냥 수작업으로 풀었다.
풀이는 이런 방식이다.
먼저 CyberChef(https://gchq.github.io/CyberChef/) 의 Input 값에
77 10 02 를 써놓고 From Hex 레시피를 추가한다.
그다음 원격접속 서버에서 출력된 값을
XOR 키값으로 넣은 뒤
Output 에 나오는 값을 보고 의미있는 문자열이 나오면 하나씩 추가하는 것이다.
이런 방식으로 한글자씩 알아내면
플래그를 찾을 수 있다.
'CTF > 포너블' 카테고리의 다른 글
[n00bzCTF] Pwn1 - 포너블 / 버퍼오버플로우 / IDA / Pwndbg / Pwntool (82) | 2023.06.27 |
---|---|
[n00bzCTF] Flag Shop - 포너블 (68) | 2023.06.23 |
[justCTF] MyLittlePwny - 포너블 / Jail Escape (76) | 2023.02.13 |
[2020CCE] Simple Pwn - 포너블 / 버퍼오버플로우 / Pwndbg / Pwntool / IDA (60) | 2022.11.08 |
[2020CCE] Simple Cmdshell / Simple Patch - 포너블 / IDA (66) | 2022.10.24 |