jam 블로그

[bof 원정대] skeleton -> golem (stack destroyer) 본문

해킹/시스템

[bof 원정대] skeleton -> golem (stack destroyer)

kid1412 2012. 3. 22. 14:08
728x90
다음 문제 소스입니다.

 [그림 1] golem.c

소스분석
1. buffer의 크기 40
2. 인자값은 적어도 하나 이상
3. 첫번째 인자값의 48번째값은 \xbf
4. 버퍼의 리턴값을 제외한 버퍼부터 끝까지 초기화 


문제를 풀 과정입니다.

0. bash2
1. shared library 만들고 환경변수 등록하기
2. bof 공격 


1. shared library 만들고 환경변수 등록하기

 [그림 2] 임의의 소스 만든후 shared library로 컴파일 후 LD_PRELOAD 환경변수에 등록

 공유라이브러리를 만든 후에 LD_PRELOAD 환경변수에 등록을 하면 프로그램이 시작시 적재가 된다.


2. bof 공격

 [그림 3] bof 공격

주소값은 buffer 주소보다 낮아야 하며 \x90값이 많이 넣었기 때문에 주소값을 딱 맞출 필요는 없습니다.


Comments