쉘을 실행시키는 문제
if문을 보면 ret가 실행할 스택의 주소가 FF******인지 검사하고
여기에 걸리면 나가버리는 문장이다
이구간을 피하면서 쉘을 실행 시켜야하는데 5번이랑 똑같이 풀면된다
system함수의 주소는FF로 시작하지 않기 때문에 걸리지 않을 것임
구해야할 것
buffer에서 ret까지의 거리
system함수의 위치
/bin/sh의 위치
buffer에서 ret까지의 길이를 구할 때
이번 문제는 buffer도 입력 부분도 main이아닌 getpath에 있기 때문에
bp를 main의 ret가 아닌 getpath에서의 ret에 걸어야 구하기 편하다
(main의 ret에 걸어도 구할 수 있으나 이해하기 힘들다)
buffer에서 ret(getpath)의 길이 80바이트
성공