파일을 다운받아 아이다로 열어보았다. vuln이라는 함수가 보여 거기로 들어가봤다. 20바이트짜리 s 배열을 선언해줬고, 입력을 받고 있었다. 그러나, 배열의 크기는 20바이트인데, fgets에선 80바이트만큼 입력받고 있었고, 여기서 취약점이 터진다는 사실을 알아냈다. 다른 코드 로직이 보이지 않는 걸로 보아 vuln 함수의 ret 주소를 변조해 vuln에서 리턴할 때 쉘을 실행시키는 함수로 이동해야하는 것 같았는데, 마침 win이라는 수상한 함수가 보였다. 그래서 내용을 확인해보니, 역시 쉘을 실행시키는 코드가 탑재되어 있었다. 따라서 win의 주소값으로 vuln함수의 ret주소를 변조하면 문제가 풀릴 것이다. win의 주소값은 어셈블리어 코드로 변환해 구했다. 한 번 페이로드를 구성해보자. send..