jam 블로그

[bof 원정대] troll -> vampire (check 0xbfff) 본문

해킹/시스템

[bof 원정대] troll -> vampire (check 0xbfff)

kid1412 2012. 3. 20. 21:22
728x90
다음 문제의 소스입니다.

 [그림 1] vampire.c

소스 분석
1. buffer의 크기는 40
2. 인자값은 적어도 하나 이상
3. 첫번째 인자값 48번째는 \xbf 이어야 합니다.
4. 첫번째 인자값 47번째는 \xff 아니어야 한다. 

 
문제를 푸는 과정입니다.

0. bash2
1. nop의 갯수를 크게하여 argv[1]의 주소값 구하기
2. bof 공격 

 1. nop의 갯수를 크게하여 argv[1]의 주소값 구하기

 [그림 2] 공격 값

argv[1]의 길이 제한이 없기 때문에 47번째에 \xfe 48번째에 \xbf로 써 넣은 다음 그다음 충분한 \x90값을 주어서 shellcode를 실행하게 합니다.

 
2. bof 공격


 [그림 3] bof 공격

 주소만 벗어나게 하여 공격하면 간단하게 됩니다. 

 
Comments