Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
* Освобождаем память, занятую новой таблицей IDT
*/
kfree(idt);
printk(KERN_INFO "Old IDT address restore (0x%08x) ",(__u32)(idtr.base));
return;
}
Процесс, статус которого мы хотим повысить, выглядит следующим образом:
/* Файл test.c */
int main()
{
system("/bin/bash");
return 0;
}
Запускаем процесс в отладчике:
play@darkstar:~$ gdb -q ./test
(gdb)
Устанавливаем точку останова на функцию main():
(gdb) break main
Breakpoint 1 at 0x804832e
(gdb)
Запускаем процесс на выполнение:
(gdb) run
Starting program: /home/play/test
Breakpoint 1, 0x0804832e in main()
(gdb)
Дошли до точки останова #1. Продолжим выполнение процесса:
(gdb) cont
Continuing.
Запущен новый shell. Проверяем, с какими правами:
bash-2.05b$ id
uid=1000(play) gid=100(users) groups=100(users)
В итоге мы получили в свое распоряжение еще один shell с правами play. Интересного в этом мало. Другое дело, если запустить shell с правами root.
Завершим работу отладчика:
bash-2.05b$ exit
exit