plaidCTF
-
Plaid CTF 2013 ropasaurusrex write-upCTF Write-Up 2018. 3. 6. 06:57
Plaid CTF 2013 ropasaurusrex 라는 문제를 풀어봤다. 먼저 정적분석을 위해 IDA로 열어본다. 먼저 main()를 살펴보면 어떤 함수를 호출하고 write()를 호출하여 win\n 이라는 문자열을 출력해주는 것을 볼 수 있다. 그 어떤 함수에 들어가 보면 바로 취약점을 찾을 수 있는데,이는 char buf 가 bp-88 즉, 136 byte의 공간을 할당 받았지만, 바로 밑 read()에서 256 byte를 입력받게 되어있기 때문에buffer overflow 취약점에 해당된다. 여기까지 정적분석을 마쳤으니 동적분석을 해보자. 먼저 실행을 해보면 예상처럼 입력을 받고, win이라는 문자열을 출력해준다. 그리고 memory 보호기법을 확인 해보면 NX bit 만 걸려있었다. 이는 쉘코드..