본문 바로가기
system

[LOB] vampire

by MOVE🔥 2016. 9. 27.
728x90
반응형

코드


코드의 동작을 살펴보면, 기초적인 buffer over flow 공격인데, 추가적으로 RET의 주소가 0xbf 로 시작하고, 그 이후 0xff가 아닌지를 판별한다. 

하지만 지금까지 공격했을 시, 0xbfff--- 였기 때문에 이를 우회하여야 한다.

이를 우회하기 위해 다양한 시도를 해봣는데, 인자값이 엄청 크게 되면 스택의 주소가 밀려 0xbffe로 변경됨을 알 수 있었다. 따라서 인자 값에 매우 큰 값을 삽입하여 buffer over flow공격을 수행한다.

공격

취약한점을 찾고 buffer over flow임을 알았고, 우회해야 되는 조건들을 알았으니 공격을 시작한다.


1. argv[2]에 NOP 80000개 삽입 후 argv[1] 주소 확인



argv[1] = 0xbffec3b8


2. payload 작성

[shellcode] + [RET (0xbffe --)] 

[NOP * 80000]


결과

쉘 획득










728x90
반응형

'system' 카테고리의 다른 글

[LOB] skeleton  (0) 2016.09.27
[LOB] troll  (0) 2016.09.27
[LOB] orge  (0) 2016.09.27
[LOB] darkelf  (0) 2016.09.27
[LOB] wolfman  (0) 2016.09.27

댓글