web application security scanner survey
Paid Advertising
web application security lab

XSS vilter evasion in Blackplanet and Vampirefreaks

Luny had a few good articles over the weekend that are pretty good examples of how filter evasion can really easily bypass most content restrictions. He demonstrates it in Vampirefreaks and Blackplanet People just don’t understand the nuances of HTML. One thing I’ve noticed is that most people who say they know HTML really mean they know how to cludge together a webpage. If you can look at the source of this page and tell me what it does without running off to a search engine, then you know what HTML is. If not, you are in the first group. I’ll put together a post in the future about how I learned HTML the right way. The basic thing people get wrong is that XSS is JavaScript. Only in DOM based XSS is that true. The rest of the time it is about HTML injection that happens to instantiate JavaScript in most cases. But I digress.

The first post is regarding an XSS vulnerability in vampirefreaks.com and the second is regarding XSS in blackplanet.com. They both use the same basic vector which is to break up the JavaScript directive using a tab. That was one of the first vectors I came up with when I was writing my fuzzer actually. That and the null byte injection are the two that I think are the most powerful for HTML injection. Luny also URL escaped the alert box, because it too was blocked for some reason (if you ask me, that’s a retarded thing to block, but whatever). Both are pretty good examples of what is possible.

/RSnake

4 Responses to “XSS vilter evasion in Blackplanet and Vampirefreaks”

  1. v-wall Says:

    aggh Luny id planed on takeing a look at Vampirefreaks. Looks like now you beat me to this one. lol nice find mate

  2. Daniel Del Rio Says:

    This also works for myspace because the Gecko engine allows for non-alphanumeric characters to appear before the equal sign on an onload event making it easy to break their filters.

  3. Daniel Del Rio Says:

    Woah crap my code didn’t show up I’ll put it in with out the opening and closing carats

    BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(”XSS”)

  4. RSnake Says:

    Daniel, do you have an example of this working on myspace? I don’t have an account there to test.

Respond here or Discuss On the Forums