HINT : /usr/bin/bof의 소스코드
코드를 보면, buf의 크기는 10인데, fgets함수를 통해 buf에 40만큼 쓰게되어 버퍼 오버플로우가 일어난다.
버퍼오버플로우를 이용하여 buf2에 go가 들어가게 하면 level10의 권한을 얻을 수 있을 것이다.
gdb로 buf와 buf2사이의 크기를 확인해 보았다.
첫번째 상자에서 ebp-40은 위의 소스코드를 확인했을때 buf의 위치임을 알 수 있다.
두번째 상자에서 ebp-24는 buf2의 위치임을 알 수 있다.
buf와 buf2 사이의 크기는 40-24인 16이다.
따라서 글자 16개 입력 후 go를 입력해주면 조건문을 통과하여 level10의 권한을 얻을 수 있을 것이다.
이제 level10으로 올라가 보자.
[Write-up] Level 11 (0) | 2019.12.06 |
---|---|
[Write-up] Level 10 (0) | 2019.12.06 |
[Write-up] Level 8 (0) | 2019.12.06 |
[Write-up] Level 7 (0) | 2019.12.06 |
[Write-up] Level 6 (0) | 2019.12.06 |
댓글 영역