Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
Brakeman
提交
4b935a7a
B
Brakeman
项目概览
李少辉-开发者
/
Brakeman
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
B
Brakeman
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
4b935a7a
编写于
4月 18, 2012
作者:
J
Justin
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #79 from presidentbeef/dont_check_find_by_methods_for_sql
Don't check find_by_* methods for sql
上级
5f8d03a1
e2235626
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
15 addition
and
2 deletion
+15
-2
lib/brakeman/checks/check_sql.rb
lib/brakeman/checks/check_sql.rb
+2
-2
test/apps/rails2/app/controllers/home_controller.rb
test/apps/rails2/app/controllers/home_controller.rb
+4
-0
test/tests/test_rails2.rb
test/tests/test_rails2.rb
+9
-0
未找到文件。
lib/brakeman/checks/check_sql.rb
浏览文件 @
4b935a7a
...
...
@@ -17,9 +17,9 @@ class Brakeman::CheckSQL < Brakeman::BaseCheck
@rails_version
=
tracker
.
config
[
:rails_version
]
if
tracker
.
options
[
:rails3
]
@sql_targets
=
/^(find
.*
|last|first|all|count|sum|average|minumum|maximum|count_by_sql|where|order|group|having)$/
@sql_targets
=
/^(find
|find_by_sql
|last|first|all|count|sum|average|minumum|maximum|count_by_sql|where|order|group|having)$/
else
@sql_targets
=
/^(find
.*
|last|first|all|count|sum|average|minumum|maximum|count_by_sql)$/
@sql_targets
=
/^(find
|find_by_sql
|last|first|all|count|sum|average|minumum|maximum|count_by_sql)$/
end
Brakeman
.
debug
"Finding possible SQL calls on models"
...
...
test/apps/rails2/app/controllers/home_controller.rb
浏览文件 @
4b935a7a
...
...
@@ -112,6 +112,10 @@ class HomeController < ApplicationController
params
[
"something"
]
=
h
(
params
[
"something"
])
end
def
test_safe_find_by
User
.
find_or_create_by_name
(
params
[
:name
],
:code
=>
(
params
[
:x
]
+
"code"
))
end
private
def
filter_it
...
...
test/tests/test_rails2.rb
浏览文件 @
4b935a7a
...
...
@@ -219,6 +219,15 @@ class Rails2Tests < Test::Unit::TestCase
:file
=>
/user\.rb/
end
def
test_sql_user_input_in_find_by
assert_no_warning
:type
=>
:warning
,
:warning_type
=>
"SQL Injection"
,
:line
=>
116
,
:message
=>
/^Possible SQL injection near line 116: User.find_or_create_by_name/
,
:confidence
=>
0
,
:file
=>
/home_controller\.rb/
end
def
test_csrf_protection
assert_warning
:type
=>
:controller
,
:warning_type
=>
"Cross-Site Request Forgery"
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录