Какие уязвимости возможны в ruby ​​с $ SAFE = 4? - PullRequest
3 голосов
/ 28 января 2010

Какие уязвимости возможны в ruby ​​с $ SAFE = 4? Я сразу понял, что XSRF возможен, потому что атака не имеет ничего общего с «испорченными переменными», а именно с того, откуда исходит http-запрос. Я знаю, что использование слабых криптографических алгоритмов, таких как md5 (), не будет подхвачено. Знаете ли вы о каких-либо других? Примеры кода очень ценятся!

Ответы [ 2 ]

3 голосов
/ 28 января 2010

Существует почти безграничный набор уязвимостей с $ SAFE = 4. Ничто не может защитить вас от всех произвольных плохих вещей, которые вы можете сделать с помощью кода. Например, вы можете делать всякие глупости с конфиденциальными данными в базе данных, если не будете осторожны, независимо от режима $ SAFE - для веб-приложений это должно быть гораздо более серьезным, чем то, что вам помогает $ SAFE. с. $ SAFE по сути защищает вас от одной общей вещи, которую вы можете сделать неправильно, оставляя все остальные открытыми. См. прошлогодний победитель конкурса «Подфотография С»:

Это также прекрасный пример принципа, который вы не можете защитить от намерения написать не то, что нужно. Код выдержит любую проверку переполнения буфера, проверку стиля кода или программу lint. Код правильный и правильный C-код; ошибка не была введена в код, но намного раньше, в моей голове, когда я задумывал алгоритм.

2 голосов
/ 28 января 2010

Раньше, если вы выполняли или оценивали внешний код, вы могли быть переведены в DOS на безопасный уровень 4, выполнив несколько дорогостоящих атомарных операций, таких как вычисление больших мощностей и установка критического потока

Thread.new do
   Thread.critical = true
   9999999999999 ** 999999999999 # DOS!
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...