【问题标题】:Primefaces open redirect vulnerabilityPrimefaces 开放重定向漏洞
【发布时间】:2017-03-23 11:49:01
【问题描述】:

我是 JSF 和 Primefaces 的新手,我正在尝试使用 Primefaces 为 liferay 实现自定义 portlet。要提交简单的表单数据,我使用 ajax 如下:

<f:ajax execute="@form" render="@form :message-show" listener="#{dataController.addData}" onevent="updateProgresBar" />

提交将导致 ajax 调用,该调用在 url 中有一个带有视图映射的参数,例如

_sampleportlet_WAR_servicexy_INSTANCE_eVh2tM4zSkIj__facesViewIdResource=%2Fview.xhtml

作为 JSF/Primefaces 规范的一部分,您能否建议该 view.xhtml 映射是否受到保护,免受开放重定向漏洞的影响。或者这需要手动处理?如果是这样,您能否建议实施它的最佳实践,例如一些自定义过滤器等?

提前致谢

【问题讨论】:

  • 每个表单都有一个 viewState 值,该值与表单一起提交以进行验证,以确保它是正确的,如果人们知道您的视图可以从任何方式击中他们,这取决于您保护是否你期望一个预期的流程 - 虽然以前从未见过那个 url 映射,也许这是一个生命线的事情。
  • 如果我的理解正确,我应该经常检查是否例如view.xhtml 是我的 portlet 上下文的有效视图,对吧?

标签: ajax primefaces jsf-2 liferay portlet


【解决方案1】:

开发人员有责任确保当前 Liferay 用户有权访问包含在 portlet 应用程序中的特定 JSF 视图、执行托管 bean 方法等。

更多详情请见How do I do security in JSF?

请注意,Liferay Faces Bridge 中存在三个与您的问题直接或间接相关的漏洞:

为确保您使用的 Liferay Faces 依赖项版本包含这些问题的修复程序,请访问 liferayfaces.org 主页并使用下拉菜单选择您的 Liferay Portal 和 JSF 版本。做出选择后,主页将更新为最新的 Maven/Gradle 依赖项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-04
    • 1970-01-01
    • 2014-05-20
    • 1970-01-01
    • 2020-06-17
    • 2022-11-17
    • 1970-01-01
    相关资源
    最近更新 更多