본문 바로가기
system

[LOB] darkelf

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

코드


코드는 이전 문제와 거의 유사하다. 하지만 check the length of argument 의 이름으로 첫번째 인자값인 argv[1] 의 길이가 48보다 큰지를 검사한다. 이를 우회하여 argv[2] 를 이용하여 buffer over flow 공격을 수행한다.

공격

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

argv[1]은 buffer를 채우는데에 사용하고 argv[2]에 공격 코드를 적재하는 방식으로 공격을 수행한다.


1. 떨어져 있는 거리 구하기

(이전과 동일)


2. 인자 값 주소 확인하기

(이전과 동일)

argv[1] = 0xbffffbff


1. Payload 작성

[40Byte Buffer] + [4Byte SFP] + [RET] 이기 때문에

[40Byte Buffer] + [4Byte SFP] + [RET(0xbf....)] + [nop] + [shellcode] 와 같이 작성 하면 된다.

----------------------------------------------   -------------------

                           argv[0]  (48Bytes)                                 argv[1]         


결과

쉘 획득









728x90
반응형

'system' 카테고리의 다른 글

[LOB] troll  (0) 2016.09.27
[LOB] orge  (0) 2016.09.27
[LOB] wolfman  (0) 2016.09.27
[LOB] orc  (0) 2016.09.27
[LOB] goblin  (1) 2016.09.27

댓글