Perhaps I should have thought a little longer ...

My real question probably should be:

Is there evidence that CFTOKEN is predictable, ie not very random?



--- Dave DeVol <[EMAIL PROTECTED]> wrote:
> 
> I use client sessions too and do hijack security by setting another
> cookie
> called cfunique. I then add this to the client session. Something
> like:
> 
> <!---when they log in--->
>    <cfif not isdefined("cookie.cfunique")>
>     <cfcookie name="cfunique" value="#createUUID()#"
> domain=".yourDomain.com">
>    </cfif>
> 
> <!---app_globals--->
>   <cfif isdefined("client.cfunique")>
>    <cfparam default="0" name="cookie.cfunique">
>    <cfif comparenocase("#cookie.cfunique#", "#client.cfunique#")>
>     <cfinclude template = "act_bootEm.cfm">
>    </cfif>
>   </cfif>
> 
> ----- Original Message -----
> From: "Luke Bartholomew" <[EMAIL PROTECTED]>
> To: "Fusebox" <[EMAIL PROTECTED]>
> Sent: Tuesday, July 31, 2001 10:36 AM
> Subject: client variable hijack
> 
> 
> > to anyone who can help,
> >
> > I have recently launched an rather complex application developed
> using the
> > XFB specification and have a serious problem with the security. The
> security
> > system is based upon the XFB outlined by Hal Helms, using the
> user_groups
> > database table to allow administrators to be set up. The entire
> system
> only
> > relies upon client variables and non-persistent cookies to maintain
> state
> > management - no session, application or server variables are used.
> The
> > cfapplication tag is placed at the top of each index.cfm file as
> below:
> >
> > <cfif NOT IsDefined( 'application.applicationName' )>
> > <cfapplication name="appname" clientmanagement="Yes">
> > </cfif>
> >
> > The index.cfm file follows the XFB specification - and cfinclude's
> the
> > app_globals.cfm file.
> >
> > Inside the app_globals.cfm file is the following script to kill
> session
> > cookies if browser is closed:
> >
> > <cfif IsDefined("Cookie.CFID") AND IsDefined("Cookie.CFTOKEN")>
> >   <cfset cfid_local = Cookie.CFID>
> >   <cfset cftoken_local = Cookie.CFTOKEN>
> >   <cfcookie name="CFID" value="#cfid_local#">
> >   <cfcookie name="CFTOKEN" value="#cftoken_local#">
> > </cfif>
> >
> > And the client.urltoken is set to the request scope:
> >
> > <cfscript>
> > // set urltoken
> > request.urltoken=client.urltoken;
> > </cfscript>
> >
> > Then the request.urltoken variable is passed at every request to
> the
> server
> > - either on the end of the url string or in a form (I have looked
> into
> this
> > on the allaire website which suggests that this is not a very
> secure way
> of
> > state management).
> >
> > The problem is that once I log into the application occassionally I
> inherit
> > someone elses client variables which is obviously very undesirable.
> >
> > The login script is nothing unusual and basically validates
> information
> > posted from a form against information held in the database - and
> then
> sets
> > the necessary client variables for email, cliend id and last login.
> There
> is
> > also a login script which runs through Flash, but is it basically
> the same
> > as the other.
> >
> > Thanks
> >
> > Luke B.
> >
> >
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Structure your ColdFusion code with Fusebox. Get the official book at 
http://www.fusionauthority.com/bkinfo.cfm

Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to