파일을 실행시켰더니 다음과 같이 나왔다
문자열을 입력받고 나서 버퍼의 주소가 출력되는 것 같다.
파일을 실행시킬때 마다 버퍼의 주소가 다르게 나오는 것을 확인할 수 있었다.
보호기법을 확인해보았는데 딱히 걸려있는게 없다.
IDA로 파일을 까보았다.
scanf로 입력을 받을때 overflow가 일어나는 것을 알 수 있다.
그리고 버퍼의 주소가 출력되는 것을 확인할 수 있었다.
ret에 버퍼의 주소를 넣어주는 방식으로 접근을 해보았다.
s의크기는 0x88=136이고 sfp의 크기는 4이다. ret전까지의 크기는 140바이트가 되는데 여기에서 25바이트 쉘코드를 사용하게 되면 115바이트를 dummy로 채워주면 될것이다.
또한, 버퍼의 주소가 계속 바뀌기 때문에 recv를 이용하여 받아온다.
!!오타가 나면 실행이 안되기 때문에 주의해야 한다!!
(쉘코드 25바이트 짜리 사용했는데 짤렸음)