Archive for the ‘javascript’ Tag

Understanding Top Web 2.0 Security Attacks

One of the most eye-opening sessions of the conference so far has been this one on Web 2.0 security. The speaker, Danny Allan from Watchfire, an IBM company, was a fantastic speaker and one of the most engaging of the week. There are a lot of security risks in just about all rich internet applications on the web today, mostly due to the way the world wide web was built – there are all kinds of ways hackers can attack a web site to gain access to secure information. Why would they want to gain access to this information? Mostly, almost always, for financial gain.

He listed out 3 types of core attacks that may be used:

  1. Browser attacks: such as plugin flaws.
  2. Server side attacks: this is the more traditional attack such as SQL injection attacks.
  3. Client side attacks: Using XSS (cross-site scripting), CSRF, etc hackers can gain control over a users computer. There are 108 ways to exploit XSS attacks.

The main technologies that are attacked are:

  1. Browsers
  2. Ajax
  3. Web Services

It’s also worth noting that mashups are especially difficult to protect. There is the possibility that an attack in one widget could pull sensitive data from other widgets. Also it’s difficult to know when that happens because the DOM doesn’t recognize these sorts of attacks.

Other types of attacks mentioned are JS hijacking, prototype hijacking (hackers are able to basically replace your javascript function with their own), cache poisoning, DNS attacks, DNS Reminding attacks.

He then proceded to show us this demo of a XSS proxy which allowed him to gain control of a users’ bank information (not a real bank site) by pasting some malicious javascript code in the site search box and submitting it. Using the XSS proxy, he basically had a hacker admin panel that allowed him to view all kinds of data he ’stole’ from the user, including every link they clicked, every page viewed, all passwords and data typed in text fields, and basically anything sent through the browser you can think of. Since this was staged and just a demo, there are of course a lot of things that needed to be in place for this to work correctly but the point is, it’s possible. One of the things I thought was really interesting is that he actually leveraged CSS code (href tag styles) in his algorithm to gain access to this fake person’s data. Yikes!

Day 2 Keynote: “Good Morning… btw, the WWW sucks.”

Ok, he didn’t really say that in so many words but that was pretty much what was thrown at us during the opening keynote at 7:30am this morning. The main message: The WWW has problems. Serious problems. It’s not secure, and it just wasn’t built for the kinds of Web 2.0 applications that are becoming increasingly popular. But, on the other hand… it works, and for a lot of people that’s ok. However, keynote speaker Douglas Crockford from Yahoo seems to believe that the end of the world wide web may be at hand and other technologies such as AIR, Silverlight, or JavaFX may be there ready to compete for dominance if new standards that fix these issues aren’t put in place within the next decade. Ultimately he said that the DOM and Javascript need to be replaced all together… which is definitely no small task.

Also of note, he mentioned jsLint, a javascript verifier, as well as Google’s Caja and Cajita to help safely allow javascript-enabled third-party widgets in mashups, but this isn’t a viable solution for securing RIAs.