Estou implementando alguns desafios do CTF. Os sinalizadores estão em alguns arquivos de texto, que são lidos nos programas. Para proteger os flags mudei o dono dos arquivos, mas configurei os setuid
executáveis para poder ler os arquivos. Funciona quando executo meus programas fora do gdb e os sinalizadores são lidos, mas dentro do gdb recebo Permission denied
. Estou executando os exercícios dentro de uma máquina virtual Linux no VirtualBox. Eu criei um usuário normal que não está no arquivo sudoers e os arquivos de sinalizadores pertencem ao root.
-rwsr-xr-x 1 root user 15260 Mar 13 13:22 exercise6
-rw-r--r-- 1 user user 3270 Mar 13 06:10 'Exercise 6.c'
-rwsr-xr-x 1 root user 15700 Mar 14 03:28 exercise7
-rw-r--r-- 1 user user 4372 Mar 13 06:10 'Exercise 7.c'
-rwS------ 1 root root 28 Mar 13 06:10 admin_flag.txt
-rwS------ 1 root root 20 Mar 13 06:24 exercise1.txt
-rwS------ 1 root root 27 Mar 13 06:24 exercise2.txt
-rws------ 1 root user 18 Mar 13 10:34 exercise3.txt
-rwS------ 1 root root 22 Mar 13 06:24 exercise4.txt
-rwS------ 1 root root 19 Mar 13 06:10 user_flag.txt