小编Rav*_*avi的帖子

通过“Referer”标头防止跨站点请求伪造

我们最近收到了来自 IBM AppScan DAST 的结果,其中一些结果没有多大意义。

2.Medium——跨站请求伪造

风险:可能会窃取或操纵客户会话和 cookie,它们可能被用来冒充合法用户,允许黑客查看或更改用户记录,并以该用户身份执行交易 修复:验证价值“Referer”标头,并为每个提交的表单使用一次性随机数

以下更改应用于原始请求:

将标头设置为“ http://bogus.referer.ibm.com

推理:

测试结果似乎表明存在漏洞,因为测试响应与原始响应相同,表明跨站点请求伪造尝试成功,即使它包含一个虚构的“Referer”标头。

请求/响应:

POST /**/main.xhtml HTTP/1.1 -- **This xhtml only opens a default menu on page load**
User-Agent: Mozilla/4.0 (compatible; MS
Run Code Online (Sandbox Code Playgroud)

推荐修复

验证“Referer”标头的值,并为每个提交的表单使用一次性随机数。

javax.faces.ViewState 具有隐式 CSRF 保护。

https://www.beyondjava.net/jsf-viewstate-and-csrf-hacker-attacks

我还可以使用受保护的视图进行显式 CSRF 保护。这种显式 CSRF 保护为所有情况添加了一个令牌,并额外添加了对“引用者”和“来源”HTTP 标头的检查。(参考 Bauke & Arjan 图书权威指南)

该报告还将 /javax.faces.resource/ 标记为 CSS , JS ,我认为报告中误报的字体。

寻找反馈和一些见解。

jsf csrf referrer bluemix-app-scan

4
推荐指数
1
解决办法
1945
查看次数

标签 统计

bluemix-app-scan ×1

csrf ×1

jsf ×1

referrer ×1