Tech/exploit

    exit함수를 이용한 exploit

    hackctf adult_fsb 문제를 풀면서 알게 된 방법이다. exit함수 내부의 free함수를 호출하는것을 이용하여(free_hook) exploit을 하는 방법을 소개하려고 한다. Source Code 먼저 간단하게 exit함수에서 어떻게 free함수가 호출되고 있는지 알아보자. exit() void exit (int status) { __run_exit_handlers (status, &__exit_funcs, true, true); } exit함수는 내부적으로 run_exit_handlers 함수를 호출하여 진행한다. 여기서 인자로 넘겨주는 &__eixt_funcs는 exit.h에 선언되어있다. exit.h extern struct exit_function_list *__exit_funcs a..

    64bit Format String Bug

    지금까지 미뤄뒀던 fsb 쪽을 공부해보았다. 아직 많이 미흡하지만 이후에도 여러 문제를 풀면서 여러 정보를 추가할 예정이다. Format String Bug FSB(Format String Bug) : 포맷 스트링 버그는 취약점 공격에 사용될 수 있는 보안 취약점이며, 포맷팅을 수행하는 printf() 같은 특정한 C 함수들에서 사용자 입력을 포맷 스트링 파라미터 (%d, %n ...)로 사용하는 것으로부터 나온다. 피라미터 종류 위와 같은 피라미터를 입력하면 어떤 일이 일어나는지 예제를 통해 알아보려 한다. TEST CODE #include #include #include ​ int main(void) { char buf[300]; ​ setvbuf(stdin, 0, 2, 0); setvbuf(stdo..