Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
Brakeman
提交
52dce308
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 搜索 >>
提交
52dce308
编写于
7月 11, 2012
作者:
J
Justin Collins
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Better confidence levels for CheckFileAccess
also support for --report-direct option
上级
dbd52289
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
38 addition
and
22 deletion
+38
-22
lib/brakeman/checks/check_file_access.rb
lib/brakeman/checks/check_file_access.rb
+38
-22
未找到文件。
lib/brakeman/checks/check_file_access.rb
浏览文件 @
52dce308
...
...
@@ -24,32 +24,48 @@ class Brakeman::CheckFileAccess < Brakeman::BaseCheck
end
def
process_result
result
return
if
duplicate?
result
add_result
result
call
=
result
[
:call
]
file_name
=
call
[
3
][
1
]
if
input
=
include_user_input?
(
file_name
)
unless
duplicate?
result
add_result
result
case
input
.
type
when
:params
message
=
"Parameter"
when
:cookies
message
=
"Cookie"
else
message
=
"User input"
end
message
<<
" value used in file name"
warn
:result
=>
result
,
:warning_type
=>
"File Access"
,
:message
=>
message
,
:confidence
=>
CONFIDENCE
[
:high
],
:code
=>
call
,
:user_input
=>
input
.
match
if
match
=
has_immediate_user_input?
(
file_name
)
confidence
=
CONFIDENCE
[
:high
]
elsif
match
=
has_immediate_model?
(
file_name
)
confidence
=
CONFIDENCE
[
:med
]
elsif
tracker
.
options
[
:check_arguments
]
and
match
=
include_user_input?
(
file_name
)
#Check for string building in file name
if
call?
(
file_name
)
and
(
file_name
[
2
]
==
:
+
or
file_name
[
2
]
==
:<<
)
confidence
=
CONFIDENCE
[
:high
]
else
confidence
=
CONFIDENCE
[
:low
]
end
end
if
match
case
match
.
type
when
:params
message
=
"Parameter"
when
:cookies
message
=
"Cookie"
when
:request
message
=
"Request"
when
:model
message
=
"Model attribute"
else
message
=
"User input"
end
message
<<
" value used in file name"
warn
:result
=>
result
,
:warning_type
=>
"File Access"
,
:message
=>
message
,
:confidence
=>
confidence
,
:code
=>
call
,
:user_input
=>
match
.
match
end
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录