WARGAME/pwnable.kr

pwnable.kr fd write-up

msh1307 2022. 8. 14. 18:28

ssh로 접속을 해보면

fd, fd.c와 flag가 있다.

flag는 읽어보면 권한이 부족해서 읽을 수 없다.

fd 바이너리에 fd_pwn으로 setUID가 걸려있다.

fd.c를 읽어보면 command line argument 받아서 그 fd에서 0x1234를 빼서 읽고, LETMEWIN\n이면 flag를 읽어준다.

proc 먼저 확인해보려고 들어갔는데 거부됐다. 

그래서 ps도 안 먹힌다.

/dev/fd를 들어가면 현재 프로세스의 fd를 확인할 수 있다.

/dev/fd는 /proc/self/fd의 심볼릭 링크가 걸려있다.

stdin, stdout, stderr인 0, 1, 2가 보이고, 다른 fd가 보인다.

여기서 이 프로세스의 fd를 확인할 수 있다.

 

파일에 LETMEWIN\n을 쓰고, ~/fd한테 그 파일의 fd + 0x1234를 넘겨주면 flag를 얻을 수 있다.

 

원래 파일을 하나 만들어서 LETMEWIN\n을 쓰고 open 한 다음, /dev/fd를 확인하고 넘기려고 했는데, 마땅히 쓸 곳이 없길래, stdin을 넘겼다.

 

stdin은 0이니까 0x0 + 0x1234 = 4660이 되고, 이걸 넘겨주면 된다.

 

'WARGAME > pwnable.kr' 카테고리의 다른 글

pwnable.kr random write-up  (0) 2022.08.20
pwnable.kr passcode write-up  (0) 2022.08.16
pwnable.kr flag write-up  (0) 2022.08.15
pwnable.kr bof write-up  (0) 2022.08.15
pwnable.kr collision write-up  (0) 2022.08.15