2013-08-01 9 views
23

मेरे पास एक वेब एप्लिकेशन है जो टॉमकैट 7 सर्वर पर चल रहा है। सत्र आईडी के साथ कुकी डिफ़ॉल्ट रूप से झंडे HttpOnly और Secure है। मैं JSESSIONID कुकी के लिए इस झंडे को अक्षम करना चाहता हूं। लेकिन यह काम नहीं करेगा। मैंने इसे अपने web.xml फ़ाइल में बदल दिया है लेकिन यह काम नहीं कर रहा है।टॉमकैट 7 सत्रीय कुकी केवल http-अक्षम और सुरक्षित

<session-config> 
    <session-timeout>20160</session-timeout> 
    <cookie-config> 
     <http-only>false</http-only> 
     <secure>false</secure> 
    </cookie-config> 
</session-config> 

मैं जानता हूँ कि यह एक सुरक्षा जोखिम है, क्योंकि एक हमलावर कुकी चोरी और सत्र का अपहरण करता है, तो वह एक XSS vuln पाया गया है करने में सक्षम है।

JSESSIONID कुकी को HTTP और HTTPS और AJAX अनुरोधों के साथ भेजना चाहिए।

संपादित करें:

मैं सफलतापूर्वक conf/context.xml फ़ाइल में निम्न विकल्प जोड़कर निष्क्रिय कर दिया है HttpOnly झंडा:

<Context useHttpOnly="false"> 
.... 
</Context> 
+0

कृपया इस प्रश्न को बंद करें, आपको जवाब मिल गया है। धन्यवाद। – eze1981

+0

क्या आपको पता चला कि सुरक्षित कैसे अक्षम करें? – wutzebaer

+2

क्रोम का हालिया अपडेट यह बहुत महत्वपूर्ण बनाता है! https://chromium.googlesource.com/chromium/src/+/a26e439d02baa9514b09c637bf5fa9f6790c4c3e –

उत्तर

1

मैं इस के लिए बिलाव में एक समाधान नहीं मिला, लेकिन यदि आप ' एक रिवर्स प्रॉक्सी के रूप में अपाचे का उपयोग कर आप कर सकते हैं:

Header edit* Set-Cookie "(JSESSIONID=.*)(; Secure)" "$1" 

के साथजो सुरक्षित ध्वज को हटाने के लिए वापस रास्ते पर शीर्षलेख को घुमाएगा। सुंदर नहीं है लेकिन यह महत्वपूर्ण है अगर काम करता है।

0

अपाचे के लिए ऊपर जॉर्ज पावेल के समाधान के अलावा, यदि आप आईआईएस पर हैं, तो आप इसे इस प्रकार का समाधान कर सकते हैं:

  1. स्थापित आईआईएस URL पुनर्लेखन मॉड्यूल
  2. जोड़े अपने web.config के लिए निम्न

<rewrite> 
 
    <outboundRules> 
 
    <rule name="RemoveSecureJessionID"> 
 
     <match serverVariable="RESPONSE_Set-Cookie" pattern="^(.*JSESSIONID.*)Secure;(.*)$" /> 
 
     <action type="Rewrite" value="{R:1}{R:2}" /> 
 
    </rule> 
 
    </outboundRules> 
 
</rewrite>

यह समाधान Pete Freitag's blog

जैसा ऊपर बताया गया है, हाल ही में क्रोम अपडेट (जनवरी 2017) के बाद से, यह एक मुद्दा बन गया है।

संबंधित मुद्दे