darkelf
-
LEVEL 06 darkelf write-upSystem hacking training/Hackerschool LOB 2018. 3. 21. 15:02
LOB darkelf에 대한 풀이를 하겠다. darkelf.c 를 열어보면 바이너리에 대한 c 코드가 나온다. 이 바이너리는 strcpy()로 buffer에 argv[1]의 문자열을 그대로 받아옴으로서 bof 취약점이 존재한다. 하지만 egghunter로 인해 환경변수에 쉘코드를 올려 사용할 수 없다.buffer hunter로 인해 buffer에 쉘코드를 올려서 쉘을 띄울 수 없다. buffer hunter로 인해서 strcpy() 호출 후 memset()로 buffer를 다시 0으로 세팅해주기 때문에 쉘코드를 buffer에 올리더라도 사용할 수 없다. 그리고 argument argv[1]의 길이를 체크하여 argument의 길이가 48보다 크면 오류 메시지를 출력하고 종료시킨다. 따라서 argv[2]를..