Re: lug-bg: system() problem
- Subject: Re: lug-bg: system() problem
- From: Peter Pentchev <roam@xxxxxxxxxxx>
- Date: Wed, 27 Oct 2004 10:46:29 +0300
On Wed, Oct 27, 2004 at 10:36:01AM +0300, Dimitar Dimitrov wrote:
>
> >А като говоря за административни права.. В началото на програмата ти
> >има setuid(0); setgid(0). Каква точно е целта на това? Нали ти е ясно,
> >че ако тази програма се изпълни от акаунт, чието user ID *не* е 0, с
> >едно просто setuid(0) не можеш да се докопаш до uid 0? Т.е. ако твоят
> >уебсървър изпълнява PHP скриптове като друг потребител, не root (а би
> >трябвало да прави точно това!), то това setuid(0) изобщо, ама изобщо
> >няма да ти помогне... Ако случаят е такъв, бързо инсталирай sudo и се
> >научи да му ползваш конфигурацията с NOPASSWD за определени потребители
> >и определени команди - на теб май ти трябва само за unquote smbclient,
> >демек от PHP-то можеш да направиш:
>
> Да виждам че има доста голям секурити хол, но това е за ползване само от
> една секретарка :) така че надявам се тя да не знае
> какво трябва да пише да ми счупи машинката :). Аз просто правя chmod +s
> със собственика root. Това ми дойде първо на ум.
ОК, като за бързо решение става, но все пак имай предвид, че с онзи
буфер char command[50] НАИСТИНА си създаваш проблем - "/bin/echo " е
дълго 10 символа, " | /usr/bin/smbclient -M " е дълго още 25, така че за
името на машината и съобщението си оставящ общо 50 - (1 + 25 + 10) = 14
символа... ти наистина ли си сигурен, че секретарката винаги ще пише
толкова кратки съобщения? :) А ако тя опита да напише по-дълго, ще
имаме типичен пример за buffer overflow exploit, макар и неволен, и тя
дори може и да не разбере, че съобщението не е било изпратено :)
Поздрави,
Петър
--
Peter Pentchev roam@xxxxxxxxxxx roam@xxxxxxxx roam@xxxxxxxxxxx
PGP key: http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553
You have, of course, just begun reading the sentence that you have just finished reading.
Attachment:
pgp6D_F0C4hsU.pgp
Description: PGP signature
|