level13
-
Level13 (darkknight -> bugbear)$ 시스템 해킹 $/Los Of BufferOverflow 2020. 1. 1. 14:34
이번 문제는 RTL 기법을 이용한 문제인 것 같습니다. RET부분에 해당되는 argv[1][47]의 값이 \xbf 가 되면 안되는것 같습니다. RTL 이란? Return To Library의 약자로 동적 라이브러리 영역에 존재 하는 함수의 주소를 이용해서 바이너리에 존재하지 않는 함수를 사용할수 있도록 하는 기법입니다. 바이너리에 존재 하지 않는 함수는 system 함수, execl 함수 등이 있습니다. 이전 문제들 에서는 stack 에다가 shellcode를 넣어서 문제를 해결 했었지만 stack 의 주소를 보면 0xbf~~~~~~로 RET에 넣을수 없는 주소입니다. 그렇기 때문에 RTL 기법을 이용해서 문제를 해결 해야 합니다. 쉘을 실행하기 위해서는 쉘코드가 아닌 system 함수를 사용하는데 /b..