| 
	
 | 
 Posted by shimmyshack on 11/01/06 23:00 
Jerry Stuckle wrote: 
> shimmyshack wrote: 
> > ive only had a brief look at the code, but if youre not careful, when 
> > the browser sends an old session_id, it is possible for the application 
> > to pick it up and run with it, using this old session_id as the basis 
> > for new session data that as been removed. 
> > This indeed is insecure as it does allow for people to press logoff, 
> > and for your logoff method to be run, which at first glance appears to 
> > remove the data in the table where session uid = the one they are 
> > logged in as. 
> > Then later (assuming the user presses back andsubmits a request which 
> > includes the ookie headers with the value of the uid in it) the server 
> > checks to see if the udi is present in the table which it is, just that 
> > theres no data inside, the server then sets new data in the same row 
> > and on they go. 
> > maybe im barking up the wrong tree, but deleting the entire row seems 
> > more prudent. 
> > just my £0.02 and as I say - I only took a 20s look at the code so 
> > apologies if this is just rubbish! 
> > good luck. 
> > 
> 
> No, you can't go back and send the same session id (i.e. via a back 
> button) after you've destroyed it.  The session information will no 
> longer be valid. 
> 
> I haven't looked at the actual PHP code - but I've tried various 
> versions of this when testing security.  Any data saved in the $_SESSION 
> is gone after calling session_destroy(), even if the same session is 
> sent again later. 
> 
> 
 
thats not exactly what i said, in fact you can go into the filesystem, 
and completely delete the session files themselves, and STILL resume 
the session with the same id which recreates the same filename like a 
phoenix from the ashes (have you tried that?) - the data wont be there, 
but the session filename can be the same. and depending on how the 
application stores the data, a partial or complete session can indeed 
be resumed. It is unfortunate but nevertheless true. 
Most so called "authentication" mechanisms are nothing of the sort and 
simply rely on the session_id being an "authenticator" - thats how 
session riding/hijacking works, and why you should be very careful HOW 
you implement the code, rather than just sending a session storing info 
in the session, and assuming that if someone has the session id they 
are ok, and that once it has gone, that nothing can be resumed. 
 
 
 
 
 
 
> -- 
> ================== 
> Remove the "x" from my email address 
> Jerry Stuckle 
> JDS Computer Training Corp. 
> jstucklex@attglobal.net 
> ==================
 
  
Navigation:
[Reply to this message] 
 |