我在我的应用程序中使用brakeman进行安全检查。我想跳过一些方法--即和I Mark Methods as Safe,但我想在方法中添加一个flag,以便在brakeman扫描应用程序时跳过该方法。
示例:
class User < ActiveRecord::Base
# I want to skip this method when brakeman scan the application
# Kind of `flag` to skip the method
def profile
# ..
end
def company
#..
我想安装'metric_fu‘gem
gem 'metric_fu'
一旦我bundle了,我就得到了这个
Fetching gem metadata from https://rubygems.org/.......
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
Bundler could not find compatible versions for gem "ruby_parser":
In Gemfile:
metric_fu
我已经安装了最新版本的Brakeman创业板,以帮助我的Rails应用程序安全性。
我在两个服务器上有几个Rails应用程序,一个用于开发,另一个用于生产。当我对我的应用程序运行Brakeman报告时,大多数应用程序都标记了config/initializers/ security _Token.rb,具有以下高度安全漏洞。
Session secret should not be included in version control near line 7
这是我第一次看到这个错误,因为我运行了一个旧版本的Brakeman几个月前。
根据我迄今为止的研究,Rails在执行rails新名称时
考虑一个用户模型
# app/models/user.rb
class User
enum status: [:sad, :bored, :happy]
end
在控制器中,我希望接收params[:status]并返回具有该状态的所有用户
即
# app/controllers/users_controller.rb
class UsersController << ApplicationController
def index_status
status = "#{params[:status]}"
if User.statu
我有以下Arel SQL: Arel.sql("(users.last_donated_at IS NOT NULL AND users.last_donated_at < '#{User::ACTIVE_DONOR_WITHIN_DAYS.days.ago}')") 当我运行brakeman时,会收到SQL Injection警告。我尝试了以下几种方法: Arel.sql("(users.last_donated_at IS NOT NULL AND users.last_donated_at < ?)", User::ACTIV
我正在使用brakeman来识别我的rails项目中的sql注入问题。在sql查询中发现了一个中等级别的注入问题,在该问题中,我要从params传递表名。我该如何避免这个问题。我试着在表名周围加上`(滴答)。
引起此问题的代码如下:
Student.find_by_sql("select * from students,#{params[:name]} where conditions")
以下是我所尝试的:
Student.find_by_sql("select * from students,`#{params[:name]}` where conditions
我正在使用brakeman gem扫描我的应用程序。
扫描该应用程序后,我会收到以下警告:
#Security warnings
Method | Warning Type | Message
------------------------------------------------------
show | Unscoped Find | Unscoped call to PatientMessage#find near line 27: Message.find
我从布雷克曼那里得到了这个警告。正如他们所说,依赖于用户提供的值的重定向可以被用来“欺骗”网站或在看起来无害的URL中隐藏恶意链接。如果目标未经过验证,它们还可以允许访问站点的受限区域。
| Confidence | Class | Method | Warning Type | Message | High | DocumentsController | download | Redirect | Possible unprotected redirect near line 46: redirect_to(+Document.find(p
我使用给定的正则表达式来验证用户名: validates_format_of :username, with: /^[a-zA-Z0-9_\.]*$/, :multiline => true 通过运行brakeman gem,我得到了以下警告。 == Warnings ==
Confidence: High
Category: Format Validation
Check: ValidationRegex
Message: Insufficient validation for `username` using `/^[a-zA-Z0-9_\.]*$/`. Use `\A` and
我在rails应用程序上运行了一个静态代码分析工具(brakeman),它报告了一些SQL注入漏洞,我怀疑这些漏洞可能是错误的。令人反感的线条如下所示:
#things_controller.rb
def index
Thing.select(params[:columns]).where(params[:conditions])
end
我无法找到一种方法来利用这一点,但它看起来确实相当开放,这是否足够安全(这个控制器需要管理员访问),还是可以被利用?
Ruby为2.0.0-p 247,Rails为4.0.0
我正在使用Brakeman gem来分析我的ruby-on-rails应用程序代码。
它有以下High level security warning:
Warning Type | Message |
--------------------------------------------------------------------------
Session Setting | Session cookies should be set to HTTP only near line 3 |