在部署的OC4J / Oracle Application Server中强制使用HttpOnly JSESSIONID

时间:2018-06-07 00:15:19

标签: httponly oc4j veracode

我们使用OC4J容器在Oracle Application Server J2EE 10g 10.1.3.5.0上运行遗留应用程序。要清除Veracode动态扫描缺陷CWE ID-402(以及最佳实践),我们需要在JSESSIONID cookie上设置HttpOnly标志。我们发现了一个系统属性的文档,尽管很少:

  

-Dhttp.response.httponly =真

据称支持这一点。 (此处所有支持的属性的一些详细信息,尽管您可能希望通过翻译器运行它:https://volbers.wordpress.com/2011/06/24/secrets-of-the-oc4j/

然而,我们发现,虽然此属性在独立的OC4J实例中运行(例如,在Eclipse中运行),但在部署时 工作在OAS / OPMN下。我们甚至尝试使用反射来查找Evermind OC4JProperty以获取 HTTP_RESPONSE_HTTPONLY ,并且能够以编程方式将其设置为true。然而,随之而来的是相同的行为:在已部署的容器中运行时,某些东西忽略了该属性。

是否有人知道如何在已部署的环境中完成此工作?

仅供上下文,这是OC4J自己对此属性的描述:

% java -jar /oas/j2ee/home/oc4j.jar -describeProperty http.response.httponly

Property name: http.response.httponly
Description: Used to prevent cross-site scripting attack
Default value: false
Primitive type: Boolean
Deprecated: false
Log value change: false
Is static: false

1 个答案:

答案 0 :(得分:0)

尝试将以下内容添加到您的orion-web.xml

<session-tracking cookie-path="/pathtoyourapp; HttpOnly"/>