- Статус
- Offline
- Регистрация
- 20 Мар 2021
- Сообщения
- 77
- Лайки
- 377
NoSQL injection — Базы данных NoSQL обеспечивают более слабые ограничения согласованности, чем традиционные базы данных SQL. Требуя меньше реляционных ограничений и проверок согласованности, базы данных NoSQL часто обеспечивают преимущества в производительности и масштабировании. Однако эти базы данных все еще потенциально уязвимы для атак инъекций, даже если в них не используется традиционный синтаксис SQL.
Топ 10 баз данных:
NoSQL Инъекции не получили особо такой большой популярности, как те же SQL инъекции, хотя та же MongoDB входит в топ 10 баз данных, как раз таки в ней можно провернуть NoSQL Инъекцию.
Отличия SQL и NoSQL баз данных:
В реляционных базах данных таких как MySQL, MariaBD и др. вся информация в них состоит из таблиц и столбцов. То есть таблицы и столбцы уже заранее прописаны в базе данных, их названия, тип данных, который они будут хранить, все прописано уже заранее, чтобы получить информацию из реляционных баз данных используется язык SQL, неправильное использование которого и становится причиной появления SQL-инъекций.
В нереляционных базах данных MongoDB, Redis и др информация хранится по-другому. Благодаря иному хранению данных, использование этих БД позволяет улучшить: производительность, масштабируемость и удобство в работе.
Возникновение NoSQL Инъекции:
Причина возникновения NoSQL-injection, аналогична причине возникновения SQL-injection, плохая фильтрация входных данных. MongoDB является одной из популярнейших баз на ЯП NodeJS, многие курсы, ютуберы советуют именно это базу, а это огромная ошибка, т.к. в ней легко провернуть NoSQL Инъекцию, поэтому многие люди начинают использовать эту базу данных, не подозревая о ее уязвимостях.
Суть NoSQL Инъекции:
Как же все таки работает NoSQL Инъекция? В MongoDB передается JSON-объект в функцию поиска, сам объект и является критерием поиска в базе данных, подобно SQL-injection, где используются специальные символы для раннего закрытия команды, передаваемой к базе, то есть преобразования критерия поиска, мы также преобразуем JSON-объект, передаваемый к базе данных.
Как же научиться делать NoSQL Инъекцию?
Для этого вам потребуется изучить литературу, это не займет много времени, немного теории и практики, и вы сможете применять эти знания в реальных задачах.
Литература:
1. Для просмотра ссылки Войди
2. Для просмотра ссылки Войди
3. Для просмотра ссылки Войди
NoSQL - не знаю