Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / Security / February 2004

Tip: Looking for answers? Try searching our database.

session id abuse

Thread view: 
Johnny GoLightly - 12 Feb 2004 16:28 GMT
Hi all,

I have some quesitons regarding session id's.

Consider the following scenario:

User requires access to a web application for a long period of time
with inactivity. Therefore assume that sessionID never expires.

Session information stored on web server (or application server) says
that this user has read-only access to the information shown on the
page which is extracted from a database.

The application auto refreshes the page on the browser every 15
minutes with updated info that other users may have entered in the
preceding period.

Is it possible for:

1.  Another user to change the session information on the server and
change access from read only to write (by knowing the session id)?

2.  Knowing the session id (perhaps from info on the URL) can one
create another session from another browser using the same session ID?

3.  How can you effectively limit concurrent access to only 1 session?

4.  If client side certificates were to be used, could you create
another session from another browser once the first session was
authenticated?  ie, how do you restrict the access to only one
browser?

5.  If you are using server side validation for all user invoked
queries, is it still possible to force data into the application to
elevate your role?  Assume that user roles are clearly defined in the
db.

6.  If a user with high privileges (such as write to db) leaves a
workstation unattended with no session timeout, are there any controls
that one could put in place to still validate the user is the
privilged user after a period of time?  for example keep session
active, but to make any changes application must validate information
on a usb key?

7.  How do you choose between session ID's tagged in URL, Session IDs
in cookies?  How do you restrict the information in either URL or
cookie so that users can't use this info to abuse the applicaiton?

Thanks

Johnny
Tony Morris - 12 Feb 2004 22:23 GMT
> Hi all,
>
[quoted text clipped - 17 lines]
> 1.  Another user to change the session information on the server and
> change access from read only to write (by knowing the session id)?

Yes, also known as "session hijacking"

> 2.  Knowing the session id (perhaps from info on the URL) can one
> create another session from another browser using the same session ID?

Yes, by hijacking the session.

> 3.  How can you effectively limit concurrent access to only 1 session?

you can't, HTTP is stateless; that's why there is a need for sessions.

> 4.  If client side certificates were to be used, could you create
> another session from another browser once the first session was
> authenticated?  ie, how do you restrict the access to only one
> browser?

I guess you could (more thought required on that one)

> 5.  If you are using server side validation for all user invoked
> queries, is it still possible to force data into the application to
> elevate your role?  Assume that user roles are clearly defined in the
> db.

Not if you have implemented data validation correctly.

> 6.  If a user with high privileges (such as write to db) leaves a
> workstation unattended with no session timeout, are there any controls
> that one could put in place to still validate the user is the
> privilged user after a period of time?  for example keep session
> active, but to make any changes application must validate information
> on a usb key?

Do you mean, requiring an additional level of authentication (as well as
session management) to perform high-privileged actions, such as write ?

> 7.  How do you choose between session ID's tagged in URL, Session IDs
> in cookies?  How do you restrict the information in either URL or
> cookie so that users can't use this info to abuse the applicaiton?

You can set this in the deployment descriptor, or programmatically.
You don't - the session ID is "meant to be" unique and secure.

> Thanks
>
> Johnny

Signature

Tony Morris
(BInfTech, Cert 3 I.T.)
Software Engineer
IBM Australia - Tivoli Security Software
(2003 VTR1000F)
Sun Certified Programmer for the Java 2 Platform (1.4)
Sun Certified Developer for the Java 2 Platform

Johnny GoLightly - 13 Feb 2004 07:43 GMT
Tony,

Your answers to both 1 and 2 are session hijacking. I can understand
that answer for question 2, but "HOW" is the session hijacked in
question 1 to change the session info on server side to elevate your
role?

re question 6, yes I mean you will need the USB key to rectivate your
session with write privilges.

Thanks

Johnny

> > Hi all,
> >
[quoted text clipped - 63 lines]
> >
> > Johnny


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.