반응형 pwnable15 [Toddler's Bottle] fd FTZ를 공부하고 처음 pwnable 문제.BoB에서 되게 유명해서 관심이 가 공부를 시작한다.https://pwnable.kr/play.php https://pwnable.kr/play.php pwnable.kr#include #include #include char buf[32]; int main(int argc, char* argv[], char* envp[]){ if(argc printf("pass argv[1] a number\n"); return 0; } int fd = atoi( argv[1] ) - 0x1234; int len = 0; len = read(fd.. 2024. 5. 26. [Toddler's Bottle] col #include #include unsigned long hashcode = 0x21DD09EC; unsigned long check_password(const char* p){ int* ip = (int*)p; int i; int res=0; for(i=0; i res += ip[i]; } return res; } int main(int argc, char* argv[]){ if(argc printf("usage : %s [passcode]\n", argv[0]); return 0; } if.. 2024. 5. 11. [Toddler's Bottle] bof 문제시작부터 모르는 것이 나왔다. 처음에 좀 많이 당황했다.ssh로 진입하는 게 아닌 nc로 진입한다고 한다. 다행이 보안기사를 공부할 때 봤던 내용이다.입력해보니까 이런식으로 나온다. 아무거나 입력해도 결과는 똑같다.#include #include #include void func(int key){ char overflowme[32]; printf("overflow me : "); gets(overflowme); // smash me! if(key == 0xcafebabe){ system("/bin/sh"); } else{ printf("Nah... 2024. 5. 11. [Toddler's Bottle] flag 처음부터 무시무시하다. 리버싱이 필요하다니....우선 cat, vi, gdb 모든 명령어로 시도해봤을때 글자가 깨지거나 퍼미션 불가가 떴다.다만 실행했을때는 이런 문구가 출력되었다. 무슨 말일까? 또 다시 write-up을 참고한다.IDA를 설치하여 flag 파일을 넣으라고 한다.UPX로 패킹되었다는 표시를 찾을 수 있었다.Q. 다른 Write-up을 보면 거의다 게씽해서 때려맞추던데, 실제로 어떻게 알 수 있을까??이 문제는 차차 알아보도록 하자. 우선 UPX에 대해서 알아보자UPX(Ultimate Packer for eXecutables) : 여러 운영체제에서 수많은 파일 포멧을 지원하는 오픈 소스 실행 파일 압축 프로그램. sudo apt install upx 를 이용하여 upx설치후,upx -d .. 2024. 5. 11. 이전 1 2 3 4 다음 반응형