31989


Rails等のWebアプリでCSRFとMass Assignmentの両方に対策する必要があるのでしょうか。  
CSRF対策さえできてれば、正当なFormからのデータ送信＝Mass Assignment対策不要と考えました。Strong
Parametersで全データを無分別にpermitした場合(もちろんCSRF対策は行う)、どんな問題が生じますか。


CC BY-SA 3.0
2017-01-19T12:53:42.137
31987
2017-01-19T13:49:02.603
20302
question
ruby-on-rails
RailsでCSRF対策しているのにMass Assignment対策をする意味


CSRF攻撃は悪意を持った人物がわなを仕掛け、そのわなを踏んだ正規ユーザーに普通のリクエストを送らせるというものです。例えば「リンクを踏むだけで特定の文言がツイートされてしまう」といったものです。ですから、正しいページ遷移かどうかを検証します。

一方 Mass Assignment
は、ユーザーから送信された値をデータベース等に保存するという処理において、求めていないデータが送られてきても一緒に保存してしまうという問題です。本来ユーザーには書き換えさせない列まで書き換えられてしまいます。

ではページ遷移が正しければ、Mass Assignment
が行われる可能性はないと言えますか？関係ないですよね。正当なFormを開いて、ブラウザの開発者ツールでinputを追加して、送信ボタンを押すだけで Mass
Assignment を利用した攻撃は成立します。


CC BY-SA 3.0
2017-01-19T13:49:02.603
31989
2017-01-19T13:49:02.603
8000
31987
answer