BSON инъекция в MongoDB адаптере для Ruby
В BSON-ruby был найден баг который в лучшем случае приводил к небольшому DoS, но большинство версий было уязвимо к инъекции в BSON (аналог SQL инъекции, BSON это бинарный аналог JSON используемый для работы с базой).
На хабре уже как то упоминалась особенность регулярок в руби — у нас ^$ значат не просто начало и конец строки, но и новую строку .
Но тогда в примерах были лишь XSS «javascript:a() http://» и я давно искал пример, когда регулярки приводят к чему-то серьезному. И вот пару дней назад, во время аудита внешних библиотек нашего клиента, наткнулся на следующий код в BSON-ruby.
def legal?(str) !!str.match(/^[0-9a-f]{24}$/i)end
Читать дальше →
На хабре уже как то упоминалась особенность регулярок в руби — у нас ^$ значат не просто начало и конец строки, но и новую строку .
Но тогда в примерах были лишь XSS «javascript:a() http://» и я давно искал пример, когда регулярки приводят к чему-то серьезному. И вот пару дней назад, во время аудита внешних библиотек нашего клиента, наткнулся на следующий код в BSON-ruby.
def legal?(str) !!str.match(/^[0-9a-f]{24}$/i)end
Читать дальше →
Источник: Хабрахабр
Похожие новости
- [Перевод] Postman логирует все ваши секреты и переменные окружения
- Math Agency: Google AI Mode: новая модель поиска, которая меняет всё
- Атака клонов или темная сторона Open Source
- А вам точно нужно делать и продвигать приложение? Два главных вопроса бизнесу перед разработкой
- Гайд по криптостойкости, как защитить наши данные
- [Перевод] Взлом моей машины, и, вероятно, вашей — уязвимости в приложении Volkswagen
- [Перевод] ПОСТРОЕНИЕ ДОВЕРИЯ К ИИ: как блокчейн повышает целостность, безопасность и конфиденциальность данных
- Конкурс — дело тонкое: механики, которые работают у застройщиков (и не вызывают кринж у аудитории)
- Кризис идей: что делать, если не растут продажи на маркетплейсе
- От ручного труда к автоматизированным системам: польза для кредитных организаций