목록2020/05/31 (2)
Self-Improvement
적용된 보호기법 NX(스택 실행권한 X), ASLR(주소 동적 변환) 파일 정보 ELF 32-bit 실행파일이며 dynamically linked와 stripped로 되어있다. 실행 실행하면 입력값을 받은 후 "WIN"이라는 문자열이 출력이 된다. IDA stripped로 되어있음으로 gdb로 메인을 찾을 수 없지만 IDA로 확인하면 쉽게 알 수있다. (WIN string 찾기 등) main은 0x804841D 주소로 되어있다. 코드로 변환하여 보면 main에서 sub_80483f4(read_sub())를 호출하여 read함수로 입력값을 받고 다시 main에서 write 함수로 "WIN"이 출력된다. read함수에서 0x100만큼 입력할 수 있지만 buf는 0x88크기를 가지므로 BOF가 발생하게 되며 ..
소스코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #include #include int main(void){ setvbuf(stdin,0,2,0); setvbuf(stdout,0,2,0); vuln(); } int vuln(void){ char buf[256]; int sel; memset(buf,0,256); while(1){ write(1,">>>",4); scanf("%d",&sel); switch(sel){ case 1:read(0,buf,512); break; case 2:printf("%s\n", buf); break; case 3:return 0; break; } } } Colored by Color Scri..