Stack Pivot 썸네일형 리스트형 HITCON Training lab6 lab6 #include int count = 1337 ; int main(){ if(count != 1337) _exit(1); count++; char buf[40]; setvbuf(stdout,0,2,0); puts("Try your best :"); read(0,buf,64); return ; } 간단한 소스코드다. buf[40] 변수가 있는데 read 함수를 통해 64 길이만큼 입력받아서 BOF 취약점이 발생한다. ROP를 통해 쉘을 획득하려고 했는데 64 크기만큼만 입력할 수 있다는 것이 문제가 생겼다. 일단, puts의 got를 통해 실제 함수를 구하고 offset 계산을 통해 system 함수를 구하는 것까지 했다. 하지만 길이의 제한으로 더 이상 입력할 수 없어서 .bss 영역을 fake.. 더보기 이전 1 다음