Ajax's Success Could Weaken Web 2.0
Despite the several ways to break down a Web site built using Ajax, all is not lost, according to SPI Dynamics.
Bandwagoning is inevitable whenever a new technology or technique demonstrates success, and Ajax, or Asynchronous JavaScript and XML, has definitely been successful in the Web 2.0 world. Maybe too successful, from a security standpoint.
To prove this theory, SPI Dynamics Wednesday at the Black Hat USA 2007 conference in Las Vegas demonstrated several ways to break down a Web site they built using Ajax. The company dubbed the rush to erect Ajax-based Web sites "Premature Ajax-ulation," and proceeded to describe how it can be diagnosed, treated, and even avoided.
To demonstrate the lack of attention paid to securing Ajax, all of the techniques and approaches SPI researchers used to construct their fictitious site, called HackerVacations.com, came from books and other readily available resources about Ajax. The result was a site where flight pricing, seat selection, and other features were easily manipulated.
"Developers write these applications the way they're supposed to be used," Bryan Sullivan, SPI's development manager, told InformationWeek. "That's great, except that you've only ever tried to exercise the application the way it's intended to be used." Those attacking the application have no such inhibitions.
"Bryan and I were shocked at the bad advice published in Ajax security books," Billy Hoffman, lead security researcher for SPI, which is set to be bought by HP, told InformationWeek.
Ajax is seductive because it lets developers build applications that are as responsive as a desktop app but available over the Web. Ajax has risen to prominence on the back of applications such as Google Maps, which breaks up complex functions so that the users get more immediate gratification from their requests for information.
"With traditional Web applications, you broke in by feeding malicious code into the server to help make the server fail," Hoffman said. JavaScript, however, makes greater use of the client, thus giving anyone attacking an Ajax-based application access to a greater amount of the application's code.
The news wasn't all bad, however. It is possible to write secure Ajax applications if programmers carefully define and validate the data parameters their applications accept as well as the output the applications deliver. Barring that, abstinence, or at least using Ajax sparingly, may be the best solution.
About the Author
You May Also Like