我在发布之前搜索了所有owasp csrfguard邮件列表档案的struts,我将搜索“forward”next 我们正在尝试将csrfguard 3.1添加到一个非常大的遗留(意大利面)网络应用程序中(实际上很多,但现在关注1) 我们正在使用struts 1.1,weblogic 12.1.3等 请不要对旧的struts libs进行lambaste,它就是现在公司的...... 我可以通过一组未受保护的URL来获得相当复杂的CRUD流程,以及关闭每页令牌和令牌旋转属性的快乐路径 ,实质上,只是另一个会话令牌,OWASP_CSRFTOKEN,类似于JSESSIONID和struts令牌,可以伪造是类似的事情。我们需要每页令牌或旋转令牌 经过仔细分析(看起来像是什么)最新最好的来源https://github.com/aramrami/OWASP-CSRFGuard 问题在于struts的前进和流程如下:
此时不能重新编写webapp,也不能升级到更现代版的struts
建议的解决方法:
另一种解决方法:
我们也对其他想法持开放态度?
这是一段struts-config.xml(名字有点捏造)
<action path="/createSomeEntityForward" input="/WEB-INF/jsp/…/index.jsp"
scope="request" type="com….…..portal.action.SecurityForwardAction"
validate="false"
<forward name="failure" path="/WEB-INF/jsp/…/index.jsp"/>
<forward name="success" path="/WEB-INF/jsp/…createEntity.jsp"/>
</action>
这些是一些相关的会话属性
org.apache.struts.action.TOKEN=d408fea028c0094dd0c8d8f978b3ed51
OWASP_CSRFTOKEN=SDOB-M7W9-CSPP-BRHS-Q1L4-05AG-8XDZ-3KNB