SQL Injection с использованием спецификации JPA в REST Api

Я просто решил аналогичную проблему с приложением ASP.Net.

Признаки: я мог войти в свое приложение с использованием локального пользователя, но не для пользователя домена, даже если машина была правильно соединена к домену (как вы говорите в своей дополнительной записке). В средстве просмотра событий безопасности произошло событие с ID = 4625 «Недопустимый sid sid».

Решение: здесь найдено решение здесь . Проблема заключалась в том, что мои тестовые машины, где клонировали виртуальные машины (Windows Server 2008 R2, один контроллер домена и один веб-сервер). Оба имеют одинаковый SID машины, что, по-видимому, вызвало проблемы. Вот что я сделал:

  1. Удалите веб-сервер из домена.
  2. Запустите c: \ Windows \ System32 \ Sysprep \ Sysprep.exe в виртуальной машине.
  3. Перезагрузите виртуальную машину.
  4. Присоедините веб-сервер к домену.

Вы потеряете некоторые настройки в процессе (пользовательские настройки, статический IP, воссоздайте самозаверяющий сертификат), но теперь, когда я их воссоздал, все работает правильно.

0
задан Adam 13 July 2018 в 09:57
поделиться

1 ответ

Ваш код создаст запрос с переменными привязки. Вы можете проверить это, когда вы устанавливаете Hibernate logger org.hibernate.SQL для отладки в application.properties

logging.level.org.hibernate.SQL=DEBUG

Вы должны видеть заявление с? заполнители.

Использование переменных привязки предотвращает внедрение SQL. Подробнее об этой теме и о том, как вы ее протестировали:

https://vladmihalcea.com/a-beginners-guide-to-sql-injection-and-how-you-should- не допустить, что /

1
ответ дан Simon Martinelli 17 August 2018 в 13:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: