我正在开发一个遗留的 Rails 应用程序,控制器有很多params.permit!
. 在其上运行 Brakeman 扫描时,会params.permit!
打开应用程序的大量分配漏洞。
我的问题是 - 绕过这个 params.permit 的最有效方法是什么!漏洞并替换它?
我正在开发一个遗留的 Rails 应用程序,控制器有很多params.permit!
. 在其上运行 Brakeman 扫描时,会params.permit!
打开应用程序的大量分配漏洞。
我的问题是 - 绕过这个 params.permit 的最有效方法是什么!漏洞并替换它?
我假设有人添加了 params.permit!在 Rails 升级后避免查看“强参数”并正确设置。
解决此问题的正确方法是遍历每个控制器并查看每个操作需要和希望允许的参数,然后使用 params.permit(不带感叹号)为允许的参数设置白名单:
https://apidock.com/rails/ActionController/Parameters/permit
我还发现to_unsafe_hash
在单独的参数调用上使用该方法可以解决 Brakeman 警告。关于这里方法的一些信息:https ://apidock.com/rails/v4.2.7/ActionController/Parameters/to_unsafe_hash