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