Think you have a gift for writing compact code that replicates using one of the web's most vexing classes of security vulnerabilities? Then Security researcher RSnake (aka Robert Hansen) would like to hear from you. He has set up a contest to see who can write a self-propagating cross-site scripting (XSS) worm using the fewest number of characters.
XSS bugs are the bane of web and application programmers alike because they allow attackers to steal email, bank account credentials and other sensitive information by injecting malicious code into trusted websites. Worse yet, such vulnerabilities can be turned into self-propagating worms that use a victim's browser to multiply the damage. Over the past few years, some of the biggest web destinations - MySpace, Yahoo and Google's Orkut among them - have been overrun by the pest.
RSnake, a researcher who focuses on website security, has seen plenty of XSS worms. But he says he wants to see more still, particularly those that are boiled down to their essence, so that he and other security pros can better defend against them.
"Understanding the tools that hackers use for generic worm propagation is the foundation for writing tools to prevent that exact thing," he said in an instant message. "We have lots of examples of real life worm code, but the problem is it's almost always obfuscated, it has site specific code in it and it contains a payload. The only way to distill it is to ask people to make it as short as possible."
The best-known self-propagating XSS exploit to date was dubbed the Samy Worm by its creator, Samy Kamkar. In late 2005, the exploit needed less than a day to add more than 1 million MySpace users to Kamkar's MySpace profile and eventually caused News Corp. to temporarily shut down the social networking site. While the worm wasn't malicious, it alerted the world to the power that could be wielded from a modest amount of code that piggybacked off a high-traffic website.
More destructive was the JS-Yamanner worm, which in 2006 harvested email addresses by exploiting a vulnerability in Yahoo's web mail service.
There are no real prizes to be doled out in the Diminutive XSS Worm Replication Contest except for bragging rights and the satisfaction that comes from knowing you're helping push the boundaries of what's currently understood about the pest.
"If you pay attention there are really only two techniques, but tons of variants on those two techniques," RSnake says of XSS worms. The idea is to see as many different worms as possible so he and other researchers can better grasp common threads in them all.
Entries aren't to include the payloads themselves, only the mechanism that makes the code replicate. The exploits have to work in either the Internet Explorer browser version 7.0 or Firefox 2.x.
So far, a contestant by the handle of digi7al64 is the winner, having submitted an XSS worm with just 292 characters. The final winner will be announced on Jan. 10. ®