Próbuję wprowadzić wartość SO do procesu, który rozpoczyna korzystanie z systemd init systemu (przy użyciu LD_PRELOAD), ale nie jest ładowany do nowego procesu.LD_PRELOAD nie załadowano na systemd
I przestrzegane podstawowe SO (unrandom.c):
int rand(){
return 42; //the most random number in the universe
}
z linii poleceń:
gcc -shared -fPIC unrandom.c -o unrandom.so
Zmieniłem plik .service obejmuje:
Environment="LD_PRELOAD=/tmp/unrandom.so"
Po uruchomieniu usługi istnieje zmienna środowiskowa LD_PRELOAD w procesie, ale SO nie wprowadza iniekcji
cat /proc/<PID>/maps
Czy brakuje mi czegoś?
Moja maszyna jest RHEL7
Czy to działa, jeśli uciekniesz z powłoki? – hek2mgl
tak, jeśli używam polecenia bezpośrednio z powłoki, to działa ... –
Musiałbym to przetestować. Mogę dać ci informację zwrotną wieczorem. Przy okazji, dziwny pomysł! :) Czy mogę zapytać, dlaczego to robisz? – hek2mgl