A good introductory 2600-style article warning about possible security vulnerabilities that using AJAX may lead to. Never trust user input, especially if it is coming via AJAX and you are not authenticating every request.
One good suggestion in the article is using sequential authentication tokens to make sure each request is legitimate. This adds more overhead to the overall AJAX experience, but consider the potential problems you could encounter if you allow actions to happen on your server that you are not properly sanitizing.
Some popular applications I checked are hardened in such a way that they use some form of random sequence numbering: the server tells it, encoded, what the application should use as a sequence number when sending the next command. This is mostly obscured by Javascript and a pain in the ass to dissect — but not impossible.And as you may have already noted: if there is improper authentication on the location called by the XmlHttpRequest-object, this would leave a possibility for malicious purpose. This is exactly where we can expect weaknesses and holes to arise.There should be proper authentication in place. At all times.
Read the entire article: AJAX: Is your application secure enough?
(Via Slashdot, where there are some good comments on the article as well.)
Slashdot sucks.