Hacker News Front Page · birdculture ·
Calling a function in C without naming it
El autor demuestra cómo evadir las restricciones de un sistema escolar de evaluación de código que permite ejecutar programas C, pero bloquea el uso explícito de funciones no autorizadas. Aprovecha direcciones relativas entre funciones de libc, la sustitución de funciones de `printf` y `mmap` por ASan, y una página de memoria ejecutable para invocar la llamada al sistema `execve` y obtener acceso a una shell. Tras confirmar el problema, lo comunicó a la escuela y analiza por qué ASLR no impide este método.
My school has a controlled remote code execution environment to automatically grade the code we submit. The system checks execution, verifies proper formatting and surely has other checks not shown to the user (e.g. a code plagiarism detection tool1). The interface reports results mismatches and compilation errors.