Diesel: SQLインジェクションのリスクを文書化(不足?)

作成日 2016年02月29日  ·  4コメント  ·  ソース: diesel-rs/diesel

SQLインジェクション攻撃を防ぐために、ディーゼルは変数を自動的にエスケープしますか?

postgres RawConnectionescape_identifierが表示されますが、実際、Postgresとのディーゼルベースのやり取りを乗っ取ることができなかったようです。 とはいえ、私はベテランの攻撃者ではなく、sqliteを試してみませんでした。

また、SQLインジェクション攻撃が阻止されたと主張する引用を見つけました。

いずれにせよ、SQLインジェクション攻撃を防ぐために、ディーゼルによってどのような対策が取られ、ユーザーがどのような対策を講じるべきかを議論することは役に立ちます。

最も参考になるコメント

SQLインジェクション攻撃を防ぐために、ディーゼルは変数を自動的にエスケープしますか?

はい。

いずれにせよ、ディーゼルによってどのような対策が取られているかを議論することは役に立ちます

ここで深く掘り下げるべきかどうかはわかりません。 SQLインジェクション攻撃からの保護は、ほとんどすべてのORMで想定されている機能です。

SQLインジェクション攻撃を防ぐためにユーザーが取るべき対策。

なし

全てのコメント4件

SQLインジェクション攻撃を防ぐために、ディーゼルは変数を自動的にエスケープしますか?

はい。

いずれにせよ、ディーゼルによってどのような対策が取られているかを議論することは役に立ちます

ここで深く掘り下げるべきかどうかはわかりません。 SQLインジェクション攻撃からの保護は、ほとんどすべてのORMで想定されている機能です。

SQLインジェクション攻撃を防ぐためにユーザーが取るべき対策。

なし

この問題を解決します。 ここで実行可能なことがまだあると思われる場合は、コメントしてください。

We achieve this by having Diesel eliminate the possibility of incorrect database interactions at compile timeの見積もりを考えると、Dieselがコンパイル時のチェックに加えてランタイムチェックを行っていることは私にはわかりませんでした。 したがって、確かに、従来のORMはインジェクション攻撃を阻止する必要がありますが、ディーゼルは私が使用したORMとは大きく異なります。

実行時に識別子をエスケープすることでSQLインジェクションを停止するというドキュメント(1文)が役立つと思います。

繰り返しになりますが、識別子と文字列のエスケープ(またはプリペアドステートメントの使用)は_all_ ORMであると想定されますが、PRを自由に開いて、あなたが行う特定の変更について話し合うことができます。ドキュメント。

このページは役に立ちましたか?
0 / 5 - 0 評価