System Hacking
HackCTF-Basic_Bof#2
먼저 파일을 실행해보자 실행시켰더니 이상한 값이 나온다. 보호기법이 뭐가 있는지 확인해보자 NX가 걸려있다. 쉘코드를 사용하지 못한다. IDA로 파일을 까보자 v5에 sup함수의 주소를 넣고 s변수에 133바이트 만큼 입력을 받는다. 그리고 v5를 실행한다. sup함수는 s변수를 그대로 출력한다. s의 크기는 0x8c, 즉 140바이트인데 133바이트까지만 입력받을수 있으므로 RET는 변조를 하지 못한다. 그러나, sup() 함수의 주소를 담고 있는 void 포인터의 메모리는 덮어 쓸 수 있다. 이는 v5이므로 v5의 값을 변조시키면 문제는 풀릴것이다. 먼저 함수가 뭐가 있는지 살펴보자 shell이란 함수가 있는 것을 확인할 수 있다. v5에 shell함수의 주소를 넣으면 문제가 풀릴것 같다. she..