В настоящее время я изучаю книгу о безопасности (я не публиковал имя книги, потому что я не уверен в правилах сайта, но могу это сделать, если с этим нет никаких проблем), и я наткнулся на образец код, который предназначен для создания корневой оболочки.Root shell spawning
int main(){
char *name[2];
name[0] = "/bin/sh";
name[1] = 0x0;
execve(name[0], name, 0x0);
exit(0);
}
я скомпилировать его с помощью gcc shell.c -o shell
, а затем запустить его, но то, что я вернусь является общей оболочкой $
вместо корневой оболочки #
. Не могли бы вы рассказать мне, почему?
короткий ответ: вы не просто поднимете свои привилегии, запустив 'sh'. Вы должны сначала запустить его как «root». – vaxquis