在安全扫描结果中,我收到以下错误:
WL_PERSISTENT_COOKIE 和 testcookie 的“加密会话 (SSL) Cookie 中缺少安全属性”。
我不知道如何为这些 cookie 设置安全属性,从 websphere 服务器它只允许我为 JSESSIONID cookie 设置安全属性,但不能为其他 cookie 设置安全属性。
以下是我根据 appscan 结果得出的结论:
-
testcookie
:这个cookie似乎是在worklight.js文件中生成的。根据appscan,应用程序向服务器发送请求(GET /ParkingApp/apps/services/preview/SmarterParking/common/0/default/worklight/worklight.js HTTP/1.1
)并且服务器使用此文件进行响应,其中包含以下代码片段:
areCookiesEnabled : function() {
var enabled = true;
if (WL.EnvProfile.isEnabled(WL.EPField.WEB)) {
var date = new Date();
date.setTime(date.getTime() + (24 * 60 * 60 * 1000));
document.cookie = "testcookie=oreo; expires=" + date.toGMTString() + "; path=/";
var cookie = getCookie('testcookie');
enabled = (cookie.value === 'oreo');
}
return enabled;
}
所以我知道 cookie 是在这个文件中设置的,因为后续请求和响应会交换 testcookie。
我如何编辑该文件,因为它似乎是 worklight 中的预定义文件?编辑此文件以便修改该行以包含安全属性是否是一个好习惯?
-
WL_PERSISTENT_COOKIE
:对于这个 cookie,我有点卡住了,worklight 服务器在请求中查找这个 cookie,如果找不到,它会在 set-cookie 标头中将其发送回客户端。实际上,这是我在安全扫描中看到的,但是服务器没有将此 cookie 设置为具有安全属性,并且我在 websphere 服务器设置中没有找到该选项。如何设置持久性 cookie 具有安全属性?
预先非常感谢您!
简而言之,没有选项可以为这些 cookie 设置安全属性。这 2 个 cookie 不被视为敏感。但 AppScan 不知道这些是否是敏感 cookie,因此仅报告没有安全属性集。
对于testcookie,它仅被客户端用来测试是否可以设置cookie。服务器根本不使用它。
WL_PERSISTENT_COOKIE 是随机生成的 ID,用于在没有建立其他用户身份时将请求与用户身份相关联。它在内部用于表示匿名 ID,用于跟踪/报告等目的。它不用于保护需要身份验证和授权的资源。因此,捕获 WL_PERSISTENT_COOKIE 令牌并从另一个设备或另一个会话使用它不会授予任何额外或不同的权限。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)