我们最近扫描了我们的应用程序是否存在漏洞,其中一份报告显示了由于我们的Cookie中没有HttpOnly
和Secure
标记而导致XSS攻击的可能性。
因此,根据建议here更新apache配置并添加以下内容:
<IfModule mod_headers.c>
Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
</IfModule>
但是,现在我们的CSRF实施面临一个问题,即无效令牌/请求,因为添加此行会从请求标头中删除Cookie并在响应标头中添加Set-Cookie:JSESSIONID=9833010B7C016CBBC37F64117E4BB0BF; Path=/; HttpOnly;HttpOnly;Secure
。
添加HttpOnly和Secure标志之前的Cookie值:
Cookie: csrftoken=xRbsYj0jq9lRnWoL7PC2RUoufOeLYhJsLCACSYVeArPx9d0qZg4Ox7mnmhZc0jEU; JSESSIONID=75D35C6FBF8BB5DF9DD7B0E13405E885
添加HttpOnly
和Secure
标志后,在响应标头中设置Cookie值:
Set-Cookie:JSESSIONID=9833010B7C016CBBC37F64117E4BB0BF; Path=/; HttpOnly;HttpOnly;Secure
顺便说一下,我们在useToken
和<g:form useToken="true">
中使用Grails 2.5.4应用withForm
进行动作实施。
服务器版本:Apache / 2.4.7(Ubuntu) 服务器内置:2015年10月14日14:20:21
如果您能帮助我们调试并解决问题,我将非常感激。
由于