> -----Original Message-----
> From: Bryan Stevenson [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, January 03, 2006 1:58 PM
> To: CF-Talk
> Subject: AJAX and security
> 
> It has just hit me that AJAX may not be all that safe.

There are at least two angles to explore...

>From the server perspective AJAX isn't any safer or more dangerous than any
other data path: you have to cover your ass.  Whether the information is
coming in from a form (hidden or visible fields), a web service call, the
URL or AJAX (which is really just another way to do those others) you have
to validate the information and make sure it's safe.

>From the end-user perspective it's not that much different... but there are
some risks.  You still have to trust the site that you're using but AJAX
techniques make some things potentially more dangerous.

Coupling AJAX code with cross-site-scripting vulnerabilities is a very
dangerous combination.  If a script could run and send information from a
site to an unauthorized server - well, that's bad.  AJAX techniques let you,
in theory, do this without the user's knowledge (but that assumes, of
course, that the appropriated vulnerability exists and is being exploited).

There are also potential privacy concerns since AJAX allows for a paradigm
switch in communication with web sites.  For example you might have, in the
past, filled out a form with personal information (or a nasty rant) to some
site then, before submitting (committing) it cleared or cancelled it.

With AJAX the information in that form could be sent to the server
regardless, without the explicit consent implied by the "submit" button.

This is a gray area to be sure - and it's mirrored in other industries.  For
example you might know (although most people don't) that most phone support
facilities record the conversations even when you're on hold - they "listen"
to you even when the actual representative isn't (or isn't seeming to).

Now this isn't illegal - you initiated the communication link so they've
every right to keep it open - but it is a little disconcerting.  AJAX has
the potential to bring similar confusion online.

A simple example you're probably familiar with: the "I agree to the terms"
checkbox.  Today you check the box but actual acceptance doesn't REALLY
happen until you submit the form.  You can clear the box if you like.  In
the AJAX world just clicking the box might transparently and immediately
send the information available so far: you DID click the box.

Clearing it later doesn't mean anything (trying un-signing a contract and
see how far you get).  You've accepted and AJAX allowed the site to grab
your data.

I'm not saying this is or even will become a major issue: but it does
represent a distinct, if subtle change in the way people must consider web
site interaction.

Jim Davis


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Discover CFTicket - The leading ColdFusion Help Desk and Trouble 
Ticket application

http://www.houseoffusion.com/banners/view.cfm?bannerid=48

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:228285
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to