[#] BSON инъекция в MongoDB адаптере для Ruby
habrabot(difrex,1) — All
2015-06-04 22:00:03


В BSON-ruby был найден баг который в лучшем случае приводил к небольшому DoS, но большинство версий было уязвимо к инъекции в BSON (аналог SQL инъекции, BSON это бинарный аналог JSON используемый для работы с базой). На хабре уже [как то упоминалась][1] особенность регулярок в руби — у нас ^$ значат не просто начало и конец строки, но и новую строку \\n. Но тогда в примерах были лишь XSS «javascript:a()\\nhttp://» и я давно искал пример, когда регулярки приводят к чему-то серьезному. И вот пару дней назад, во время аудита внешних библиотек нашего клиента, наткнулся на следующий код в BSON-ruby.

def legal?(str)
!!str.match(/^[0-9a-f]{24}$/i)
end


[Читать дальше →][2]

[1]: http://habrahabr.ru/post/144139/
[2]: http://habrahabr.ru/post/259569/#habracut