pwnable 6번 문제인 x64 Simple_size_BOF 이다.

 

buf의 위치를 출력해준다.

그리고 뭔가 입력을 받는거 같은데 아무런 변화도 일어나지는 않는다.

 

64비트 elf, 그리고 적용된 보호기법은 없다.

 

v4의 주소를 출력하고, v4에 입력을 받는다.

뭔가 쉘을 주는 다른 함수는 보이지 않는다.

v4는 rbp-6D30h, 즉, v4에 쉘코드를 넣고, 0x6D30 + 8(sfp) - 쉘코드의 길이 만큼 더미값을 채워넣어서 ret을 처음 제공해주는 v4의 주소를 넣으면 될 것이다.

좋아, 익스코드를 짜보자.

 

payload에 쉘코드는 31byte 짜리, v4_addr에 처음 제공해주는 v4의 주소를 저장한다.

그리고 0x6D30에 쉘코드 길이를 빼주고 sfp를 더한 뒤 ret에 v4_addr을 넣는다.

실행을 해보면..

 

성공적으로 익스플로잇이 된다.

+ Recent posts