level11
-
Level11 (skeleton -> golem)$ 시스템 해킹 $/Los Of BufferOverflow 2020. 1. 1. 14:31
위의 소스코드를 확인해 보면 egghunter 였었던 환경변수를 못쓰게 하는 구문이 사라져 있습니다. 하지만 stack destroyer이 새로 생겻는데 buffer부터 0xbfffffff까지 RET를 제외한 모든 부분을 0으로 초기화를 해버리는 역할을 합니다. 이런 상황에서 사용할수 있는 것은 라이브러리인데, 정적 라이브러리는 .a 로 끝나는 파일이며, 빌드를 할때 실행파일에 포함되는 파일입니다. 동적 라이브러리는 .so 로 끝나는 파일이며, 여러 프로그램에 공유 되는 라이브러리 입니다. 동적 라이브러리가 정적 라이브러리 보다 더 우선시 되기 때문에 -fPID 옵션과함께 해당 라이브러리 이름을 NOP 과 쉘코드로 하나 생성을 합니다. attack.c 는 임의의 함수 하나를 만들었습니다. 그리고 생성한 ..