Wendel Henrique, a member of SpiderLabs (Trustwave's advanced security team), and Sandro Gauci, founder and CSO for EnableSecurity, also found some WAFs vulnerable to the same types of exploits they are supposed to protect Web apps from, such as cross-site scripting (XSS) attacks.
The researchers used a tool they developed, called WafW00f, to detect and fingerprint the presence -- and in some cases, the brand -- of a WAF running in front of a Web application. A second tool created by Henrique and Gauci, called WafFun, let them exploit and bypass WAFs running in blacklisting and whitelisting modes. With a combination of WafW00f and WafFun, the researchers are able to execute attacks on the WAF invisibly so they can successfully hack the Web-facing application sitting behind it.
"If an attacker knows what product and version, it's easy to exploit it. One of the things [WAF] vendors claim is that they [operate] in stealth [mode]," Henrique says. "But in practice, they have a lot of different behaviors that they create...and you can use those behaviors to identify what WAF is in place."
Other researchers previously have demonstrated fingerprinting and bypassing intrusion-detection systems/intrusion-prevention systems, as well as how signature-based WAFs are susceptible to SQL injection attacks.
Mark Kraynak, vice president of marketing for Imperva, says Henrique and Gauci's research is not all that new, including their work on signature evasion, which Imperva has researched. "A lot of what they are saying is not new," he says. "Part of the founding premise of why you need a WAF versus a signature engine...is that you can evade a weak signature engine."
Products that use only signatures -- without other features like normalization and encoding/decoding -- are not true WAFs, he says. "Signature-only WAFs are not going to do it," he says.
Meanwhile, Henrique says he and Gauci are working with several WAF vendors to fix vulnerabilities in their products, including Armorlogic, which has since patched for its WAF bug. They also will release WafW00F, which detects more than 20 different WAFs, by Friday, and WafFun within two weeks.
"A WAF can help, for sure," Henrique says. But even more importantly, he says, organizations must protect their Web apps by writing better code and regularly testing their applications. "Training developers, doing code certification review, and testing Web apps are much more useful," he says. "The problem is we found so many WAF products have really bad design flaws that allowed us to directly compromise [them]."
And while adding a whitelisting Web traffic is a stronger model than a blacklist/signature-only approach, he says, it's not necessarily realistic for large Websites. "It's not easy to put in place a WAF with a positive [whitelisting] model at a company with huge Websites," he says. "In general, companies will use a negative [blacklisting] model," which can leave their WAF open to attack.
Have a comment on this story? Please click "Discuss" below. If you'd like to contact Dark Reading's editors directly, send us a message.