Podcast
Root Causes 268: WAFs Subverted by JSON Bypass


Hosted by
Tim Callan
Chief Compliance Officer
Jason Soroko
Fellow
Original broadcast date
January 12, 2023
In this episode we discuss rising attacks that overcome the protections of Web Application Firewalls (WAF). We explain these attacks, why this bypass might effective against you even if think it doesn't, and what you should do to ensure you're safe.
Podcast Transcript
Lightly edited for flow and brevity.
So, Web Application Firewalls can be in everything from your big cloud providers and your CDN – so things like AWS, Cloudflare and then, of course even some of your on-prem stuff like F5, other names like Imperva Palo Alto. So all these big, big security players, infrastructure players will include WAFs in one way, shape, or form or the other.
So, WAFs have been around a long time but what some people have figured out is that when you are talking to a database in behind the WAF, there can be commands that you are issuing to the database using languages and markup languages that the database understands but that Web Application Firewalls don’t seem to have caught up to yet in terms of understanding malicious vs. legitimate context.
And so therefore, it’s a complex message in that it contains both commands and data and I think what’s happening for the most part is that these Web Application Firewalls are like, oh, well this is a JSON formatted package so, I don’t really know what’s going on in this package so I’m just gonna let it through. And so there’s all kinds of other commands that are sent where it’s scrutinized heavily by the WAF and anything that’s in JSON doesn’t seem to be as scrutinized and therefore a lot of what you would call WAF bypass to do malicious things or unexpected things is possible by packaging into these JSON formatted text strings. So therefore, it’s not gonna affect a website that doesn’t have a database that accepts JSON, so therefore, you’re safe if you are not doing that. The problem though is that a lot of modern web setups now have some sort of data structure in the backend that is accepting JSON. So therefore, this is a really good reminder and isn’t it funny, Tim, how these kinds of articles come out just before the holiday season when people really don’t want to be doing this kind of work.

