The issue is that PHP does by default. http://foo.com/index.php?bar=baz&biz=boo&anonuser=dataYup. Today when I read this I had a heart attack and started furiously reading through the source code of the Python web framework that I use, Tornado. It took me about a minute to figure out that httpserver.py line 390 implies that Tornado will also put all arguments from an HTTP request into a dictionary, via the urlparse module.
This is true for nearly every PHP application, regardless of which application PHP is serving. The issue is even processing to see if we can discard these values already has them stored, and thus the attack has already taken place.
PHP and nearly every other web-application framework in existence.
Yes, MikeWarot, but how would capability-based security help here? In one case you have firmware updates on an embedded device, in another case you have an algorithmic complexity attack. Even if they would have totally prevented the prison PLC exploit, a 1/3 success rate is awfully poor for a "magic bullet".By the "algorithmic complexity attack", I assume you mean the denial of service attack against web servers by confusing their parsers. If each process has limited capabilities, one of those is the number of cpu cycles it can consume in total, and/or per unit time. This can mitigate these types of attacks, but not solve them.
At least the BFDL has come down on the right side of this one, which means that it will (eventually) get implemented in CPython.spitefulcrow, what about using a tree-based data structure for all unsanitised user inputs, i.e. HTTP headers, HTTP query arguments, structured data within HTTP POSTS (i.e. JSON)? I'm not a big fan of the hand-wavy argument "Frameworks are too spaghetti like, we can't figure out where all the hash tables are used!", and I see the appeal, at least in Python, of using a tree-like data structure that looks like a dictionary.
« Older A Salvador Dali dinner party featuring unicorn hea... | Tubalr is a music video playin... Newer »
This thread has been archived and is closed to new comments
posted by Foci for Analysis at 6:50 PM on January 1 [1 favorite]