ret에 무조건 strcpy()의 주소를 적어야만 프로그램 진행이 된다.
따라서 위 함수를 이용하여 bof를 하면 되는데, strcpy함수의 경우 8바이트 뒤의 4바이트를 dest, 12바이트 뒤의 4바이트를 src로 인식한다.
그러므로, dest 위치에는 ret 주소를 적고 src 위치에는 buf의 시작 주소를 적고 buf에는 system함수를 이용한 RTL을 이용하여 쉘을 얻을 수 있다.
공격 코드
exploit
공격코드를 직접 입력해주면 쉘이 떨어지는데 exploit은 동작을 안한다...... 혹시 아는분은 댓글 부탁드립니다.
'WARGAME > hackerschool ftz,lob' 카테고리의 다른 글
[BOF 원정대] giant -> assassin(level 15) (0) | 2014.08.03 |
---|---|
[BOF 원정대] assassin-> zombie_assassin(level 16) (0) | 2014.08.03 |
[BOF 원정대] zombie_assassin-> succubus(level 17) (0) | 2014.08.03 |
[BOF 원정대] nightmare -> xavius (level 19) (0) | 2014.07.31 |
[BOF 원정대] xavius -> death_knight (level 20) (0) | 2014.07.29 |