У нас есть устаревшее приложение, работающее на Oracle Application Server J2EE 10g 10.1.3.5.0 с использованием контейнеров OC4J. Чтобы устранить ошибку динамического сканирования Veracode CWE ID-402 (и для лучшей практики), нам нужно установить флаг HttpOnly в наших файлах cookie JSESSIONID. Мы нашли, хоть и скудную, документацию по системному свойству:
-Dhttp.response.httponly=true
Это якобы поддерживает это. (Некоторые подробности обо всех поддерживаемых свойствах здесь, хотя вы можете запустить их через переводчик: https://volbers.wordpress.com/2011/06/24/secrets-of-the-oc4j/)
Однако мы обнаружили, что, хотя это свойство работает в автономном экземпляре OC4J (например, работающем в Eclipse), оно не работает при развертывании в OAS/ ОПМН. Мы даже попытались использовать отражение для поиска свойства 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