Overwrite _rtld_global exploit techmain 함수가 종료되면 __libc_start_main+231 -> __GI_exit() -> __run_exit_handlers() -> _dl_fini()등 여러 함수와 그 안에 있는 구조체의 포인터를 거치는데, _dl_fini에서 불러오는 _dl_rtld_lock_recursive() 함수와 인자를 덮어쓰면 실행흐름 조작이 가능한 exploit tech이다. _dl_rtld_lock_recursive가 없어요.glibc 2.34 이후 버전에서 _rtld_global 구조체의 레이아웃이 변경되어 오프셋을 쉽게 못 가져온다. 최신 버전에서 exploit 하는 방법은 아래 사이트로 들어가서 소스 코드를 분석하거나 직접 디버깅하면서 __rt..
2024-07-09 16:56:27 2024/07/09 07:56:27 socat[9] E execvp("/home/test/test", "/home/test/test"): Permission denied2024-07-09 16:56:27 2024/07/09 07:56:27 socat[8] E waitpid(): child 9 exited with status 1 가끔 Dockerfile을 빌드해도 권한 문제로 기본적인 문제풀이를 위한 로컬 구성이 되지 않을 때가 많은데여러 이유가 있겠지만 Dockerfile내에 chmod를 통한 권한 설정과 $user 설정까지 다 잘 되어있다면 Dockerfile 에서 chown -R root:root 구문을 삭제하고 빌드해보자.RUN chown -R root:ro..
readelf전문보기더보기더보기--all -a -- show all tables --archive-index -c -- show symbol/file index in an archive --arch-specific -A -- show architecture specific information (if any) --ctf -- display compact C type format info from section -..