Rubyプロジェクトの大規模な脆弱性

Rubyプロジェクトの大規模な脆弱性に関する投稿。 \A\z代わりに、正規表現の行の先頭に^を使用し、行の末尾に$を使用することについて話します。

実際のところ、そのような場合の^および$はRubyによって改行( \n )として認識され、注入の扉が開かれます。



公式のRuby on Railsセキュリティガイドはこの危険性について警告していますが、Github、Scribd、Tumblr、およびその他のサービスの例からもわかるように、Rubyプロジェクトの90%で依然として発生しています。

前回のRailsの場合と同様、ここでは、これがシステムのバグなのか「予想される動作」なのかを議論することができます。 しかし、この「機能」のためにほとんどの開発者が間違いを犯した場合、Rubyの文字列処理ルールを修正してみませんか?

Source: https://habr.com/ru/post/J144139/


All Articles