공부정리/햌1 BOF 정리 BOF란? Buffer Overflow 의 약자로 버퍼보다 큰 데이터를 입력했을때 발생하는 취약점이다. 원리를 설명하자면, 공격자가 버퍼를 넘어서는 크기로 입력하여 메모리 임의의 위치에 원하는 값을 써넣는 기법이다. 예를들면 버퍼에 쉘코드를 넣고 ret에 버퍼의 주소를 쓸 수도 있다. pwnable.kr 의 bof 문제를 풀어보겠다. pwnable.kr 에서 받아온 bof.c 의 내용이다. 메인함수에서 func를 호출하고 인자로 0xdeadbeef를 넘겨주고, 우리가 gets로 입력하여 인자로 넘긴 key의 값을 cafebabe로 변조하면 풀리는 문제인 것 같다. bof 를 gdb로 열어보겠다. main을 디스어셈블한 코드인데, 딱히 별 것 없고 func를 호출하는 것 같다. func를 디스어셈블 한 코.. 2016. 7. 17. 이전 1 다음