How To Secure Cookies CFID and CFTOKEN?

Posted on 2007-12-06
Last Modified: 2013-12-24
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?
Question by:EricHoma
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
  • 2
  • +3
LVL 18

Accepted Solution

Plucka earned 500 total points
ID: 20424900
I believe that cookies are secure when used under SSL automatically.

Author Comment

ID: 20424962
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!
LVL 18

Expert Comment

ID: 20424983
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.
Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

LVL 52

Expert Comment

ID: 20425143
>  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
LVL 52

Expert Comment

ID: 20425147
> 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.  

Author Comment

ID: 20433102
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.
LVL 52

Expert Comment

ID: 20433126
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?

Author Closing Comment

ID: 31413310
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.

Expert Comment

ID: 22222692
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?

Expert Comment

ID: 22222896
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">

Open in new window


Expert Comment

ID: 24293876
This is what I use to keep my cookies secure.

Expert Comment

ID: 24308988
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

Featured Post

Optimize your web performance

What's in the eBook?
- Full list of reasons for poor performance
- Ultimate measures to speed things up
- Primary web monitoring types
- KPIs you should be monitoring in order to increase your ROI

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Article by: kevp75
Hey folks, 'bout time for me to come around with a little tip. Thanks to IIS 7.5 Extensions and Microsoft (well... really Windows 8, and IIS 8 I guess...), we can now prime our Application Pools, when IIS starts. Now, though it would be nice t…
What You Need to Know when Searching for a Webhost Provider
Monitoring a network: why having a policy is the best policy? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the enormous benefits of having a policy-based approach when monitoring medium and large networks. Software utilized in this v…
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…
Suggested Courses

630 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question