반응형

pwn 5

[n00bzCTF] Flag Shop - 포너블

아주아주 간단한 포너블 생기초 문제 포너블 관련 지식이 없어도, 잔머리가 조금 있다면 풀 수 있다. 문제에선 바이너리나 소스코드가 주어지지 않고 원격 접속 가능한 주소만 주어진다. nc 를 이용해 이렇게 접속하면 flag shop 이라는 곳으로 연결된다. real flag 는 1337 달러, fake flag 는 50 달러에 팔고있는데 [3] Check account balance 를 선택해 잔고를 보면 수중에 100 달러밖에 없는것을 볼 수 있다. 일단 살 수 있는 fake flag 를 한번 사봤다. [2] Buy fake flag 를 선택하니 How many? 라며 구매 수량을 물어본다. 1 을 선택하니 n00bz{f4k3_flag} 라며 가짜 플래그가 출력되고 잔고를 확인해보니 50 달러가 줄어 5..

CTF/포너블 2023.06.23

[Root Me] sudo - weak configuration - 포너블

Root Me 에서 제공하는 sudo 명령어 관련한 문제 웹을 이용해 원격으로 접속할 수 있는 WebSSH 주소와 Username, Password 가 함께 주어진다. WebSSH 로 접속해서 ls -al 를 입력해봤다. readme.md 파일과 ch1cracked, notes 디렉토리가 보인다. 우선 readme.md 파일의 내용을 살펴보니 /challenge/app-script/chq/ch1cracked/ 경로에 있는 .passwd 파일을 읽는것이 목표라고 설명해주고 있다. 해당 파일은 app-script-ch1-cracked 에게만 r 권한이 부여되어 있어 app-script-ch1 인 현재 계정으로는 내용을 읽을 수 없다. 문제 제목부터 sudo 이니 sudo 명령어를 사용해본다. Super Us..

워게임/Root Me 2023.06.12

[Root Me] Python - input() - 포너블

파이썬과 관련된 포너블 문제 파이썬 스크립트의 취약점을 이용해 .passwd 파일의 내용을 읽어 비밀번호를 획득하면 된다. 문제에서는 파이썬 소스코드와 원격 접속할 수 있는 WebSSH 링크가 제공된다. WebSSH 를 이용하면 이렇게 원격에서 웹으로 작업할 수 있다. ls -al 을 해보니 .passwd 와 ch6.py, setuid-wrapper 파일이 보인다. ch6.py 외에는 모두 app-script-ch6-cracked 소유의 파일이다. 당연하게도 .passwd 파일은 권한이 없어 읽을 수 없다. setuid-wrapper.c 파일을 보면 setreuid 를 사용해서 ch6.py 파일을 실행시킨다. 위에서 setuid-wrapper 파일을 봐도 권한에 s 가 들어가 있는게 보인다. setuid..

워게임/Root Me 2023.06.10

[Tenable CTF] One Byte at a Time - 포너블 / XOR

간단한 포너블 문제 풀이수가 401 이나 되는걸 보니 아주 쉬웠나보다. 별다른 설명없이 원격으로 접속할 수 있는 주소만 주어진다. nc 를 이용해 원격접속을 해보면 [flag]> 라는 프롬포터가 나오면서 사용자의 입력을 받는다. 그럼 사용자의 입력값이 플래그와 어느정도 일치하는지 검증한 후, 입력한 부분까지 일치한다면 플래그의 그 다음글자를 어떤 IPv4 주소의 랜덤한 부분과 XOR 한 결과를 알려준다. 일단 플래그 포맷이 flag{} 라는것을 알고 있기 때문에 맨 먼저 f 부터 입력해봤다. 여러번 반복해서 입력해본 결과 f 를 입력했을때 결과로 나오는 값은 0x1b, 0x6e, 0x7c 세 가지였다. 이 세 값이 f 다음글자인 l 과 XOR을 했을때 나오는 값은 0x77 0x02 0x10 세 가지이다...

CTF/포너블 2023.03.18

[justCTF] MyLittlePwny - 포너블 / Jail Escape

간단한 난이도의 Jail Escape 문제 대회에서는 보이는것 처럼 PWN, MISC 두 카테고리에 동시에 들어가 있는 문제였다. 별도로 파일은 제공되지 않고 nc 명령어를 이용해 원격에서 접속할 수 있도록 해놨다. 원격으로 접속하면 > 프롬포터가 나오면서 사용자의 입력을 받는다. 테스트용으로 hihi 라고 입력해 봤더니 My Little Pony 에 나오는 것 같은 캐릭터가 내가 입력한 말을 그대로 echo 해주었다. 단순히 입력한 말을 그대로 출력해주는데 어떻게 Escape 할 수 있을지 생각해봤다. 방법은 아주 간단했다. ` 기호를 입력하고 그 사이에 명령어를 넣으면 위처럼 명령어가 실행된 결과가 출력된다. 위 사진은 ls 명령어의 실행 결과이다. 중간에 flag 라는 이름의 파일이 보인다. 해당 ..

CTF/포너블 2023.02.13
반응형