pwnable.kr 6

[pwnable.kr]Toddler - flag 풀이

pwnable.kr의 toddler카테고리에 속한 문제 가운데 하나인 flag입니다. 아빠가 나에게 packed된 선물을 주셨다! 얼른 열어보자. 라고 하는 문제입니다. 저는 원래 문제를 풀 때 저런 글 안 읽어보고 바로 다운로드 받아서 푸는 편인데, 문제 자체에 엄청난 힌트가 숨겨져 있었네요. 앞으론 잘 읽어봐야겠습니다. 그리고 이것은 리버싱 task이고, 너는 바이너리만 있으면 됩니다~ 라고도 쓰여져 있네요.file명령어로 확인해 보니 64비트용 실행파일(elf)입니다. 64비트용 IDA로 열어보아야 겠습니다. 아무 생각 없이 열어보니, 디컴파일 에러가 납니다. 이런 경우는 처음이라 당황해서 구글링을 해보니, 스택 메모리 구조 상 지정된 주소는 초기 스택 포인터보다 낮은 주소에 있어야 하는데 지정된 ..

[pwnable.kr]Toddler - fd 풀이

pwnable.kr에서 만나볼 수 있는 가장 쉬운 문제이자 가장 처음 만나게 되는 문제입니다. 엄마! Linux에서 파일 디스크립터가 무엇인가요? 라는 문제네요. 만약 정말 초보자라면 저 링크를 따라가서 동영상을 보라고 하는데 문제 풀 때는 몰랐다가 이제서야 봤습니다. 보고 싶으신 분들은 한 번 보시고 어떤지 댓글로 남겨주세요.ㅎ fd@pwnable.kr에 포트 2222번으로 접속해 보라고 합니다. 접속 툴로는 putty를 사용했습니다.접속을 해서 문제에서 알려준 패스워드를 입력하고 난 후, ls -l 명령어를 이용해 한 번 둘러봅니다.flag파일이 하나 있고, fd라는 프로그램과 fd.c라는 프로그램 소스파일이 보입니다. fd가 setuid가 걸려있다는 점을 모두 눈치채셨기 바랍니다.setuid가 걸려..

[pwnable.kr]Toddler - collision 풀이

pwanble.kr의 Toddler카테고리에 있는 문제 가운데 하나인 collision입니다. 아빠가 멋진 MD5 해쉬 collision을 이야기 해주어서 자신도 그 비슷한 걸 해보고 싶다는 내용입니다.우선 pwanble.kr에 포트 2222번으로 접속을 해봐야 할 것 같습니다. 접속 툴로는 putty를 사용했습니다.접속하자 마자 ls로 디렉토리 내용을 살펴보니 flag파일이 바로 보입니다. 하지만 col_pwn 의 소유자 권한과 그룹 권한만 읽을 수 있도록 권한이 세팅되어 있습니다. 즉 flag파일을 열려면 col_pwn권한을 얻어야 한다는 뜻인데, 방법은 간단합니다. col이라는 프로그램에 setuid가 붙어있기 때문입니다. setuid가 붙은 프로그램의 경우 실행 시 파일 소유자의 권한으로 권한이 ..

[pwnable.kr]Toddler - bof 풀이

pwnable.kr의 Toddler 파트에 있는 문제 가운데 하나인 bof 라는 문제입니다.할머니께서 내게 말씀해 주셨는데 버퍼오버플로우가 가장 일반적인 소프트웨어 취약점이라고 합니다. 그게 사실인가요? 라고 하네요. 부럽게도 할머니가 왕년에 짱짱해커였던 모양입니다. download 링크를 통해 다운로드를 받게 되면 bof라는 실행파일과 bof.c라는 소스코드를 얻을 수 있습니다. 우선 소스코드부터 열어봅니다. 저는 에디터로 vscode를 자주 사용하기 때문에 vscode로 열어보았습니다.저희는 이 프로그램이 실행되고 있는 환경에 있는 flag라는 파일을 여는 것이 목표입니다. 그러기 위해서는 system("/bin/sh")과 같은 함수를 활용해서 키 파일에 접근할 수 있는 쉘을 얻어야 합니다.코드를 잘..