This article is more than 1 year old
Security experts warn against Web 2.0 charlatans and 'premature AJAXulation'
Old-school threats to rushed migration
RSA Forget a wave of Web 2.0 threats taking down your software, stealing your data or exposing users - the real danger is posed by some existing attack techniques. And it's IT charlatans peddling over-night AJAX solutions that'll leave you vulnerable.
Two security experts from Microsoft and Hewlett Packard have warned against "premature AJAXulation" - the practice of using quick fixes to turn existing software in into Rich Internet Application wonders - saying these are architecturally flawed.
Microsoft security program manager Bryan Sullivan, during a joint session called Ajax Applications: A Blueprint for Disaster, told RSA: "People talk about sexy new Web 2.0 attacks. What's going to break the internet are these old Web 1.0 attacks like SQL injection, which works well against Web 2.0 applications. They are more efficient and more effective."
Billy Hoffman, manager for HP software' security labs, added: "Companies will say: 'We can Web 2.0ify your existing applications in 15 minutes - we've got a wrapper'. These people are charlatans, and you should punch them in the face. They are taking your back-end database tiers and moving them to the parameter."
Illustrating their point, Hoffman and Sullivan - authors of AJAX Security, presented a chunk of real-life code, five-lines in length, and invited their audience to count the vulnerabilities. The total? Seven, including SQL injection, denial of service, a logic bomb, privacy escalation, request forgery, and cross-site scripting.
The real problem, particularly in turning existing applications into Web 2.0 and RIAs, comes when server-based applications are sliced up and put on the client with the expectation users will dutifully not call APIs out of order. This is not just naive. It breeds a vast amount of complexity that makes it harder for testers to catch potential gaps.
Hoffman and Sullivan demonstrated a sample airline auction service they'd built using commonly occurring advice and tools - combining JSON, and running in Firefox and Internet Explorer - that they scanned and hacked using Firebug and regular application development tools.
Lack of honesty
Honest users of the service would bid on a number of publicly available fares, have their bid accepted, and the money would be deducted from their account. If their bid were rejected, then the process would start again.
The duo, though, proceeded to hack the program by finding and calling the APIs out sequence.
They were able to find more flights than had been available for public view on the main site, and they then called the API directly to book the flight so the system accepted their offer without going through the bid process - setting their own price, and having it accepted.
They also launched a DoS attack to keep calling the service and to block book a flight without ever completing the transaction and without paying. When a transaction isn't completed, the system assumed the user is on a slow connection, and it keeps the process open. This way it was possible to fill up the entire fleet using a few JavaScript calls.