Академический Документы
Профессиональный Документы
Культура Документы
КЫРГЫЗСКОЙ РЕСПУБЛИКИ
КЫРГЫЗСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ им. И.Раззакова
ОТЧЕТ
По Лабораторной работе №1
Дисциплина: Проектирование и обеспечение безопасности ПО 2
Бишкек 2023
Hacksplaining представляет собой онлайн-платформу, нацеленную на
обучение безопасности веб-приложений, включая методы защиты от угроз,
таких как SQL-инъекции. Она предлагает набор задач и обучающих
материалов для помощи в освоении навыков по обеспечению безопасности
веб-приложений. Чтобы решить задачу на Hacksplaining, следуйте
следующим шагам:
1. Зарегистрируйтесь или войдите в аккаунт на Hacksplaining, если это
необходимо.
2. Выберите интересующую вас задачу из представленного списка.
3. Внимательно изучите постановку задачи и связанные с ней
инструкции. Задачи на Hacksplaining разработаны для обучения и
проверки ваших навыков, поэтому важно полностью понимать, какую
уязвимость необходимо выявить и как это сделать.
4. Применяйте ваши знания об уязвимостях и безопасности в
приложениях для того, чтобы попытаться эксплуатировать уязвимость
в данной задаче. В случае SQL-инъекций, например, попробуйте
вводить специальные символы и конструкции SQL, чтобы получить
доступ к данным, которые не предназначены для просмотра.
5. После решения задачи следуйте инструкциям на Hacksplaining для
завершения. Это может включать отправку ответа или демонстрацию
эксплойта, если это требуется.
Для начала работы на платформе необходимо зарегистрироваться.
SQL-инъекция — это метод атаки на веб-приложение, при котором
злоумышленник вводит вредоносный SQL-код в поле ввода,
предназначенное для ввода учетных данных, таких как почта и пароль.
Начнем с базовой инъекции, введя "пароль' ". Результат данной атаки
отражен на рисунке 1 в логе.
Figure 1
Ниже на рисунке 2 можем увидеть введенный пользователем пароль
в код SQL.
Figure 2
Такое поведение в журнале свидетельствует о возможной уязвимости
программы для инъекций в код. На рисунке 3 демонстрируется ввод
инъекции ' OR 1=1- - в поле для пароля. Это типичная полезная нагрузка
инъекции, которая может сработать в некоторых случаях. Двойной дефис
используется для закомментирования остальной части SQL-запроса.
Figure 3
Теперь обратим внимание на результат инъекции, представленный на
рисунке 4. Мы успешно получили доступ к приложению, не нуждаясь в
угадывании пароля, используя SQL-инъекцию с вводом ' OR 1=1- - в
соответствующем поле.
Figure 4
Ввод базовой инъекции ' OR 1=1- - успешно сработал, в результате
чего получили доступ к приложению.
Figure 5
Figure 6
Рисунок 7
Модель нарушителя:
Figure 7
На рисунке 8 явно показан случай CSS , когда злоумышленник изменил
часть кода и поставил случайное изображение.
Figure 8
На рисунке 9 показан случай, когда злоумышленник может изменить скрипт
жаваскрипт кода и написать в код свое сообщение, тогда на экране
пользователю будет отображаться измененный злоумышленником
сообщение.
Figure 9
Рисунок 1
Вывод
В лабораторной работе рассмотрены два случая атаки и способы защиты от
них.