Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2016
  • Last Modified:

How To Secure Cookies CFID and CFTOKEN?

I have a web site running on an MX7 server with IIS.  It is an SSL only site and going to the site url forwards you to SSL mode.  The site is being security tested by some firm in Japan and the only thing that they say is a security risk is that my cookies are not secure.  They say to set the secure flag when creating cookies.  The cookies that they describe are CFID and CFTOKEN which I believe are created automatically within the application framework.  Anybody have any hints on how to make these secure?
0
EricHoma
Asked:
EricHoma
  • 3
  • 3
  • 2
  • +3
1 Solution
 
PluckaCommented:
I believe that cookies are secure when used under SSL automatically.
0
 
EricHomaAuthor Commented:
For some reason they are flaggin it.  I wonder if there is any way to test the cookie or look at it on my local machine to see if it is secure.  I would suspect that it might be encrypted.  Let's see if anyone else has a comment on this. Thanks!
0
 
PluckaCommented:
But the thing is, the cookies are only CFID and CFTOKEN they hold no data and are only a reference to a variable set on the server. So I don't see how there is a security issue.

The <CFCOOKIE has the secure setting, which works when putting data in via SSL.
0
Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

 
_agx_Commented:
>  I wonder if there is any way to test the cookie or look at it on my local machine to see if it is secure.

You can test the cookies in Firefox - Tools > Options > Show Cookies.  Check the "Send For" type. Is it Encrypted connections only or Any type of connection
0
 
_agx_Commented:
> So I don't see how there is a security issue.

Someone could sniff your CFID and CFTOKEN and use it to hijack your session.  
0
 
EricHomaAuthor Commented:
I also believe that there is no security risk.  The problem is that the security team of a very large Japanese electronics company is running a test with some sort of software that is flagging the cookies as not being secure.
0
 
_agx_Commented:
I strongly suggest you read up on session hijacking.  If the application is not well structured, it can often be a trivial matter to hijack someone else's session. This means you now have access to _all_ of that person's session information.  Imagine if it contained credit card information?
0
 
EricHomaAuthor Commented:
Thanks for your comments.  It seems that I was creating the session using the application.cfm file before I was forwarding to SSL mode.  I must forward to SSL mode and then create the session.
0
 
TFMXCommented:
I noticed that the "Accepted Solution" for this question suggests that the CFID and CFTOKEN cookies are automatically set to secure when SSL is used.  We are getting the same vulnerability notification from McAffe Secure.  When I tested my website through Firefox as suggested by aqx, indeed the cookies was marked as not secure.

I have 2 questions:
1) Has anybody found a valid solution for this problem?
2) How do I request that the "Approve Solution" be disapproved since it is incorrect?
0
 
TFMXCommented:
You can reset the CFID and CFTOKEN with the cfcookie tag and set the secure attribute to "YES".  I would prefer to find a solution that is handled by the  ColdFusion Application Service automatically, but this is a valid work around.
<cfif IsDefined("Cookie.cfID") AND IsDefined("Cookie.cfToken")>
	<cfset Variables.cfID_local = Cookie.cfID>
	<cfset Variables.cfToken_local = Cookie.cfToken>
	<cfcookie name="cfID" value="#Variables.cfID_local#" secure="Yes">
	<cfcookie name="cfToken" value="#Variables.cfToken_local#" secure="Yes">
</cfif>

Open in new window

0
 
zeph001Commented:
This is what I use to keep my cookies secure.
0
 
working1008Commented:
You need to set the ALL of your cookies (not just CFID and CFTOKEN) to be secure...

If you are using the APPLICATION.CFC template, then you should put some code in the onSessionStart AND in the onRequestStart

Basically just just call <cfcookie> tag for each cookie and make sure to set the SECURE attribute to yes.

To secure the JSESSIONID (which is important), make sure to explicitly set it with a <cfcookie> tag and set the value to be SESSION.SESSIONID (since the JSESSIONID value is the same as SESSION.SESSIONID).

I did these things to get my code to pass the IBM Rational AppScan
0

Featured Post

Ask an Anonymous Question!

Don't feel intimidated by what you don't know. Ask your question anonymously. It's easy! Learn more and upgrade.

  • 3
  • 3
  • 2
  • +3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now