Регистрация
Екатеринбург
Эксперты сайта «Всё сдал!» проводят работу по подбору, обработке и структурированию материала по предложенной заказчиком теме. Результат данной работы не является готовым научным трудом, но может служить источником для его написания.

Решение задач «Язык С и программные уязвимости»,
Программирование в Екатеринбурге

Эта работа успешно выполнена на онлайн-сервисе помощи студентам «Всё сдал!»
Программирование
Язык С и программные уязвимости
ID (номер) заказа
4632974
Тип задания
Решение задач
Предмет
Программирование
Статус
Заказ выполнен
Текст задания
Задание 1 Важно: выполняйте данную задачу на ОС Linux (Ubuntu или Kali) Легенда У вас есть следующий код: #include <stdio.h> #include <string.h> #include <stdlib.h> int main() { /* выделяем буфер из 255 символов + \0 для хранения команды */ char command[256] = {'p', 'i', 'n', 'g', ' ', '\0'}; /* буфер для хранения хоста, который нужно пропинговать */ char host[16]; printf("please enter host for ping\n"); /* получаем от пользователя имя хоста - нужно ввести в консоли, например, ya.ru и нажать Enter */ gets(host); /* отладочный вывод - печатаем команду */ printf("command: %s\n", command); /* отладочный вывод - печатаем хост */ printf("host: %s\n", host); /* добавляем к команде хост, при этом \0 в команде заменяется на первый символ из host */ strcat(command, host); /* отладочный вывод - печатаем полную команду */ printf("full command: %s\n", command); /* выполняем команду */ system(command); return 0; } Важно: строки, которые начинаются с /* и заканчиваются */ - это комментарии (пояснения к коду программы), вы можете их не печатать. Задача По аналогии с лекцией установите необходимые зависимости (apt update && apt install gcc) и скомпилируйте данную программу (cc main.c -o main) - не обращайте внимание на предупреждения, если они будут. Далее: 1. Запустите её (./main), вы увидите приглашение вида: 2. Введите адрес хоста, который необходимо пропинговать и убедитесь, что пинг работает: 3. Завершите работу приложения с помощью сочетания клавиш Ctrl + C Результаты В качестве результата пришлите ответы на следующие вопросы: Какое предупреждение (Warning) было выведено при компиляции? По желанию: проведите доп.исследование на предмет сути предупреждения (с чем оно связано, какие риски от использования одной из функций в программе и что это за функция). Ввод, приводящий к падению приложения Ввод, приводящий к выполнению другой команды (не ping) Задание 2 Важно: выполняйте данную задачу на ОС Linux (Ubuntu или Kali) Легенда Программисты прислали вам якобы "исправленный" вариант программы ping: #include <stdio.h> #include <string.h> #include <stdlib.h> int main() { /* выделяем буфер из 24 символов для хранения команды */ char command[24] = "ping "; /* буфер для хранения хоста, который нужно пропинговать */ char host[16]; printf("please enter host for ping\n"); /* получаем от пользователя имя хоста */ /* нужно ввести в консоли, например, ya.ru и нажать Enter */ fgets(host, sizeof(host), stdin); /* отладочный вывод - печатаем команду */ printf("command: %s\n", command); /* отладочный вывод - печатаем хост */ printf("host: %s\n", host); /* добавляем к команде хост, при этом \0 в команде заменяется на первый символ из host */ strcat(command, host); /* отладочный вывод - печатаем полную команду */ printf("full command: %s\n", command); /* выполняем команду */ system(command); return 0; } Задача Проведите повторный анализ и посмотрите: Можно ли реализовать переполнение? Можно ли выполнить произвольную команду (если да, то как)? Если ответ на п.2 - да, то можно ли получить shell (т.е. запустить sh и bash и продолжить работу с интерпретатором команд в интерактивном режиме)?
Это место для переписки тет-а-тет между заказчиком и исполнителем.
Войдите в личный кабинет (авторизуйтесь на сайте) или зарегистрируйтесь, чтобы
получить доступ ко всем возможностям сайта.
Закажите подобную или любую другую работу недорого
или
Отзывы студентов о нашей работе
912 316 оценок
среднее 4.9 из 5

Серафим

ВУЗ

Работа выполнена очень качественно! Очень грамотный специалист, рекомендую! Обращаюсь не в...

Александр

МЭИ

Исполнитель молодец! Срок на выполнение ставил неделю, исполнитель справился за день. За к...

Анна

Горный

Быстро, оперативно,аккуратно выполнена работа. Павел очень быстро отвечает на сообщения, о...

Антон

ИрНИТУ (бывш. ИрГТУ)

Решение внятное, выполнение заказа прошло настолько быстро, будто исполнитель решил его за...

Студенты о нашем сервисе

Ростислав
Пользуется сервисом несколько лет. Рад, что может общаться с исполнителями вживую и выбирать по цене
Анна
Работает и учится заочно. Пользуется сервисом во время сессии
Жанна
Пользуется сервисом 2 года. Учится дистанционно, мама в декрете, времени не хватает
Никита
Заказывает сбор информации и оформление научных статей, если сроки поджимают
Андрей
Обращается на сервис, чтобы эксперт нормально объяснил тему или решение задачи
Тысячи студентов доверяют нам Тысячи студентов доверяют нам
512 989
студентов
обратились к нам
447 217
экспертов
работают с нашим сервисом
2 615 579
заданий и консультаций
выполнено и сдано
Разместите задание, а
мы подберём эксперта
Сайт бесплатно разошлёт задание авторам.
А авторы предложат цены. Это удобнее, чем
искать кого-то в Интернете
Отклик экспертов с первых минут
С нами работают более 15 000 проверенных авторов с высшим образованием. Вы можете выбрать исполнителя уже через 15 минут после публикации заказа. Срок исполнения — от 1 часа
Цены ниже в 2-3 раза
Вы работаете с экспертами напрямую, поэтому цены
ниже, чем в агентствах
Доработки и консультации – бесплатны
Доработки и консультации в рамках задания бесплатны и выполняются в максимально короткие сроки
Гарантия возврата денег
Если автор не справится — мы вернем 100% стоимости
На связи 7 дней в неделю
Вы всегда можете к нам обратиться — и в выходные,
и в праздники
Узнать стоимость
Переживаете
за доработки?
Они бесплатны
С вами будут работать лучшие авторы.
Они знают и понимают, как важно доводить
работу до конца
Узнать стоимость
 Работает на сервисе более 8 лет
Эксперт
С нами с 2018 года
Помог студентам: 20 910
Рейтинг: 360 278
Среднее 4,87 из 5
14 756  оценок
 Работает на сервисе более 9 лет
Эксперт
С нами с 2017 года
Помог студентам: 25 559
Рейтинг: 319 930
Среднее 4,93 из 5
12 914  оценок
 Работает на сервисе более 7 лет
Эксперт
С нами с 2018 года
Помог студентам: 5 113
Рейтинг: 56 261
Среднее 4,89 из 5
Обращайте внимание на отзывы и рейтинг исполнителя
2 754  оценки
С нами с 2019 года
Помог студентам: 3 823
Рейтинг: 46 996
Среднее 4,82 из 5
2 208  оценок
Поможем вам со сложной задачкой 
Узнать стоимость
Гарантия возврата денег
Эксперт получил деньги за заказ, а работу не выполнил?
Только не у нас!
Безопасная сделка
Деньги хранятся на вашем балансе во время работы над заданием и гарантийного срока
Гарантия возврата денег
В случае, если что-то пойдет не так, мы гарантируем
возврат полной уплаченной суммы
Разместите заказ и получите
предложения с ценами
экспертов
Выберите автора
по цене и отзывам
Сдайте работу на проверку
преподавателю
Получите положительную оценку,
оплатите работу и оставьте
отзыв автору
Заботимся о вас
и вашем времени
У нас есть все, чтобы сделать вашу жизнь
более приятной и беззаботной
Экономия времени
Теперь у вас есть время на друзей, любимые занятия,
работу и семью
Удобный интерфейс
Современный дизайн, созданный для удобства
пользователей сайта
Часто задаваемые вопросы
1. Сколько стоит помощь?
Цена, как известно, зависит от объёма, сложности и срочности. Особенностью «Всё сдал!» является то, что все заказчики работают со экспертами напрямую (без посредников). Поэтому цены в 2-3 раза ниже.
2. Каковы сроки?
Специалистам под силу выполнить как срочный заказ, так и сложный, требующий существенных временных затрат. Для каждой работы определяются оптимальные сроки. Например, помощь с курсовой работой – 5-7 дней. Сообщите нам ваши сроки, и мы выполним работу не позднее указанной даты. P.S.: наши эксперты всегда стараются выполнить работу раньше срока.
3. Выполняете ли вы срочные заказы?
Да, у нас большой опыт выполнения срочных заказов.
4. Если потребуется доработка или дополнительная консультация, это бесплатно?
Да, доработки и консультации в рамках заказа бесплатны, и выполняются в максимально короткие сроки.
5. Я разместил заказ. Могу ли я не платить, если меня не устроит стоимость?
Да, конечно - оценка стоимости бесплатна и ни к чему вас не обязывает.
6. Каким способом можно произвести оплату?
Работу можно оплатить множеством способом: картой Visa / MasterCard, с баланса мобильного, в терминале, в салонах Евросеть / Связной, через Сбербанк и т.д.
7. Предоставляете ли вы гарантии на услуги?
На все виды услуг мы даем гарантию. Если эксперт не справится — мы вернём 100% суммы.
8. Какой у вас режим работы?
Мы принимаем заявки 7 дней в неделю, 24 часа в сутки.
Узнать стоимость
🔷 Эксперт выбираете сами
🔷 Стоимость от 50 руб.
🔷 Срок выполнения от 1 часа
🔷 Время отклика от 1 мин.
🔷 Доработки бесплатно
🔷 Гарантия на работу от 7 дней
🔷 Оригинальность до 95%
🔷 Безопасная сделка
🔷 Тех. поддержка ежедневно
🔷 Прямое общение с экспертом
Ну что, приступим?
Отправьте заявку и получите ответ с предложениями
по цене и срокам в течение часа.
Тип работы
Узнать стоимость
Вы уже зарегистрированы на данную почту как .
Укажите другую почту
Понятно
Заполните форму и узнайте цену
Тип задания
*
Антиплагиат:
Антиплагиат:
Поля, отмеченные *, обязательны для заполнения
Файлы (при наличии)
Ошибка


Задать вопрос

Задать вопрос

Сообщение успешно отправлено