AI умеет быстро предлагать гипотезы при анализе веб-приложений, но удачный ответ модели еще не означает, что уязвимость действительно существует. Проверить предположение можно только по реакции приложения и сервера. Такой подход станет основой открытого воркшопа по пентесту, который пройдет 3 ноября в 19:00 МСК.
Во время воркшопа специалист по анализу защищенности Никита Коломиец разберет четыре учебные веб-задачи. В каждой потребуется найти точку ввода, понять, как приложение обрабатывает данные, сформулировать гипотезу и подтвердить результат на стенде. На отдельных этапах к анализу подключат AI: модели передадут контекст запроса или фрагмент кода, а затем предложенный вариант проверят вручную.
Первая задача посвящена SQL-инъекции в INSERT-запросе. Такая уязвимость возникает, когда приложение смешивает пользовательские данные с SQL-кодом и позволяет входным значениям изменить структуру запроса к базе. Последствия зависят от конкретной реализации и прав учетной записи базы данных: уязвимое приложение может раскрыть или изменить данные, а в отдельных конфигурациях атака способна затронуть и сам сервер. Один из основных способов защиты - параметризованные запросы, где структура SQL отделена от входных значений.
Во второй задаче разберут XSS в HTML-контексте. Межсайтовый скриптинг появляется, когда приложение помещает непроверенные данные в страницу так, что браузер воспринимает ввод как активный код. Уязвимость может использоваться для действий от имени пользователя, чтения доступных странице данных или подмены содержимого интерфейса. Проверка XSS поэтому зависит не только от самого ввода, но и от места, куда приложение вставляет полученное значение.
Отдельная задача посвящена серверной шаблонной инъекции, или SSTI, во Flask и Jinja. Ошибка возникает, когда шаблонизатор получает пользовательский ввод не как обычные данные, а как часть шаблонного кода. В зависимости от движка и его настроек последствия могут ограничиться чтением данных, а могут привести к доступу к файлам или выполнению кода на сервере. Поэтому при проверке SSTI важно определить сам шаблонизатор, доступный синтаксис и поведение приложения после обработки выражения.
Четвертый пример связан с NoSQL-инъекцией в MongoDB. Уязвимость появляется, когда приложение небезопасно строит запрос из пользовательского ввода и позволяет передать в базу не ожидаемое значение, а управляющую конструкцию. На задаче Mango к разбору добавят автоматизацию извлечения данных с помощью Python, поэтому участникам покажут не только поиск слабого места, но и повторяемую проверку гипотезы.
Практическая часть построена на задачах InsertIssue, Contact, Temple и Mango. Воркшоп ориентирован на начинающих пентестеров, участников CTF и студентов, изучающих информационную безопасность. Отдельный акцент сделают на работе с AI: модель рассматривают как дополнительный инструмент анализа, а не как источник готового ответа. Предложение нейросети придется сверять с кодом, сетевым запросом и фактическим ответом приложения.
Формат встречи - онлайн, участие требует регистрации.