2016 EKOPARTY Fuckzing exploit
St1tch
바이너리 자체는 reversing 250점 문제와 똑같다. 키를 맞추고 나면 memcpy함수가 실행된다. 입력값의 1~100번째 값은 키를 맞추는데 사용됬고, 101번째 부터는 ebp-20h 에 복사가 된다. 따라서 입력한 값 100 + 0x20 + 8 = 140번째에 넣는 값은 rbp+8, 즉 리턴되는 주소이다. system('/bin/sh')를 사용하기 위해서는 실제주소를 알아야하기 때문에 릭하는 과정이 필요하다. 나는 rop페이로드를 짜서 printf의 주소를 알아낸 후, libc의 오프셋주소를 이용해서 실제 system주소와 /bin/sh 문자열 주소를 알아냈다. 그리고 두번째 실행할 때, system('/bin/sh')가 실행되도록 페이로드를 구성한 후 보냈고 쉘이 따졌다.aslr이 꺼져있다고 ..