From 3bb78128bb7f025f5f5d6712e418ccdbf1814d0e Mon Sep 17 00:00:00 2001 From: Lapin Date: Thu, 28 Jan 2021 19:37:55 +0100 Subject: [PATCH] level13 --- level13/Ressources/inject_getuid.c | 9 +++++++++ level13/Ressources/solution | 19 +++++++++++++++++++ level13/flag | 1 + 3 files changed, 29 insertions(+) create mode 100644 level13/Ressources/inject_getuid.c create mode 100644 level13/Ressources/solution create mode 100644 level13/flag diff --git a/level13/Ressources/inject_getuid.c b/level13/Ressources/inject_getuid.c new file mode 100644 index 0000000..ecf6d5b --- /dev/null +++ b/level13/Ressources/inject_getuid.c @@ -0,0 +1,9 @@ +#include +#include + +uid_t getuid(void) +{ + printf("i was executed\n"); + return 4242; +} + diff --git a/level13/Ressources/solution b/level13/Ressources/solution new file mode 100644 index 0000000..7e5d5a4 --- /dev/null +++ b/level13/Ressources/solution @@ -0,0 +1,19 @@ +#Il y a un executable qui demande d'avoir un UID=4242 il est actuelement a 2013 +#On va essayer de changer la fonciton getuid avec LD_PRELOAD pour qu'elle renvoiele bon UID + +# on se place dans un dosier du /tmp + +$ mkdir -p /tmp/.level13 && cd /tmp/.level13 +$ gcc -shared -fPIC -o inject_getuid.so inject_getuid.c + +#puis: +$ LD_PRELOAD=/tmp/.level13/inject_getuid.so ./level13 + +# LD_PRELOAD n'est pas charger. + +# On copie alors l'executable dans /tmp/.level13 +# l'executable nmous appartient on peut donc utiliser LD_PRELOAD + +$ LD_PRELOAD=/tmp/.level13/inject_getuid.so ./level13 +> your token is 2A31L79asukciNyi8uppkEuSx + diff --git a/level13/flag b/level13/flag new file mode 100644 index 0000000..58c7d7f --- /dev/null +++ b/level13/flag @@ -0,0 +1 @@ +2A31L79asukciNyi8uppkEuSx