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 |
댓글