미티게이션이 특이하다. PIE와 NX가 걸려있고, canary는 없다. main함수에서 8 번째 줄에서 bss영역인 pass에 malloc을 하고, 9 번째 줄에서 그 주소를 릭해준다. 이걸로 인해 PIE나 ASLR이 우회가 가능할 것으로 보인다. (처음에는 그런줄 알았다...) 위 함수는 취약한 함수인 fail 함수이다. 매개변수인 buf에 29바이트(0x1d)만큼 받는데, buf는 ebp에서 24바이트 (0x18) 만큼 떨어져있다. 그러니까 대충 아래와 같은 구조이다.buf (24) sfp ret이 상태에서 29바이트 만큼 read받으니까 sfp를 덮을 수 있고, 그 이후에 두 번의 leave-ret이 실행되므로 (checkPass leave-ret, main leave-ret) fake ebp라고 ..