Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
Brakeman
提交
edd0c6f3
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 搜索 >>
提交
edd0c6f3
编写于
7月 29, 2011
作者:
J
Justin Collins
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix checking for cookies as parameters
in method calls like <%= blah(cookies[:snickerdoodle]) %>
上级
f5f0a50d
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
26 addition
and
1 deletion
+26
-1
lib/checks/check_cross_site_scripting.rb
lib/checks/check_cross_site_scripting.rb
+4
-1
test/rails2/app/views/home/test_cookie.html.erb
test/rails2/app/views/home/test_cookie.html.erb
+2
-0
test/rails3/app/views/home/test_cookie.html.erb
test/rails3/app/views/home/test_cookie.html.erb
+2
-0
test/test.rb
test/test.rb
+18
-0
未找到文件。
lib/checks/check_cross_site_scripting.rb
浏览文件 @
edd0c6f3
...
@@ -152,6 +152,8 @@ class CheckCrossSiteScripting < BaseCheck
...
@@ -152,6 +152,8 @@ class CheckCrossSiteScripting < BaseCheck
message
=
"Unescaped model attribute"
message
=
"Unescaped model attribute"
elsif
@matched
==
:params
elsif
@matched
==
:params
message
=
"Unescaped parameter value"
message
=
"Unescaped parameter value"
elsif
@matched
==
:cookies
message
=
"Unescaped cookie value"
end
end
if
message
and
not
duplicate?
exp
if
message
and
not
duplicate?
exp
...
@@ -199,8 +201,9 @@ class CheckCrossSiteScripting < BaseCheck
...
@@ -199,8 +201,9 @@ class CheckCrossSiteScripting < BaseCheck
exp
[
0
]
=
:ignore
exp
[
0
]
=
:ignore
@matched
=
false
@matched
=
false
elsif
sexp?
exp
[
1
]
and
model_name?
exp
[
1
][
1
]
elsif
sexp?
exp
[
1
]
and
model_name?
exp
[
1
][
1
]
@matched
=
:model
@matched
=
:model
elsif
cookies?
exp
or
cookies?
target
or
COOKIES
==
exp
or
COOKIES
==
target
@matched
=
:cookies
elsif
@inspect_arguments
and
(
ALL_PARAMETERS
.
include?
(
exp
)
or
params?
exp
)
elsif
@inspect_arguments
and
(
ALL_PARAMETERS
.
include?
(
exp
)
or
params?
exp
)
@matched
=
:params
@matched
=
:params
elsif
@inspect_arguments
elsif
@inspect_arguments
...
...
test/rails2/app/views/home/test_cookie.html.erb
浏览文件 @
edd0c6f3
<h1>
Home#test_cookie
</h1>
<h1>
Home#test_cookie
</h1>
<p>
Find me in app/views/home/test_cookie.html.erb
</p>
<p>
Find me in app/views/home/test_cookie.html.erb
</p>
Hello, cookie named
<%=
@name
%>
!
Hello, cookie named
<%=
@name
%>
!
<%=
indirect
cookies
[
:oreo
]
%>
test/rails3/app/views/home/test_cookie.html.erb
浏览文件 @
edd0c6f3
<h1>
Home#test_cookie
</h1>
<h1>
Home#test_cookie
</h1>
<p>
Find me in app/views/home/test_cookie.html.erb
</p>
<p>
Find me in app/views/home/test_cookie.html.erb
</p>
Hello, cookie named
<%=
raw
@name
%>
!
Hello, cookie named
<%=
raw
@name
%>
!
<%=
raw
indirect
(
cookies
[
:chipsahoy
])
%>
test/test.rb
浏览文件 @
edd0c6f3
...
@@ -385,6 +385,15 @@ class Rails2Tests < Test::Unit::TestCase
...
@@ -385,6 +385,15 @@ class Rails2Tests < Test::Unit::TestCase
assert_equal
0
,
results
.
length
,
"escape_once is a safe method"
assert_equal
0
,
results
.
length
,
"escape_once is a safe method"
end
end
def
test_indirect_cookie
assert_warning
:type
=>
:template
,
:warning_type
=>
"Cross Site Scripting"
,
:line
=>
5
,
:message
=>
/^Unescaped cookie value/
,
:confidence
=>
2
,
:file
=>
/test_cookie\.html\.erb/
end
end
end
class
Rails3Tests
<
Test
::
Unit
::
TestCase
class
Rails3Tests
<
Test
::
Unit
::
TestCase
...
@@ -716,4 +725,13 @@ class Rails3Tests < Test::Unit::TestCase
...
@@ -716,4 +725,13 @@ class Rails3Tests < Test::Unit::TestCase
assert_equal
0
,
results
.
length
,
"escape_once is a safe method"
assert_equal
0
,
results
.
length
,
"escape_once is a safe method"
end
end
def
test_indirect_cookie
assert_warning
:type
=>
:template
,
:warning_type
=>
"Cross Site Scripting"
,
:line
=>
4
,
:message
=>
/^Unescaped cookie value/
,
:confidence
=>
2
,
:file
=>
/test_cookie\.html\.erb/
end
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录