mailing list archives
Django admin list filter data extraction / leakage
From: Adam Baldwin <adam_baldwin () ngenuity-is com>
Date: Thu, 23 Dec 2010 10:36:42 -0800
Advisory ID: NGENUITY-2010-009
Date discovered: 8.28.2010
Date published: 12.22.2010
“Django is a high-level Python Web framework that encourages rapid
development and clean, pragmatic design.” 
The admin interface of the Django web framework can be abused to extract
information, such as user password hashes via list filters. Version
1.1.2, 1.2.3 and before are affected. The advisory from the Django dev
team can be found here .
The principle behind the vulnerability is similar to blind sql
injection, but abuses a feature of t We can use list filters to follow
foreign keys into models and data our user should not normally have
access to. Using regular expressions gives us a lot of flexibility to
work our way down the value we want to extract.
For a model that has a created_by field that points to a User object we
could extract the password hash using a request similar to the below.
Authentication as a staff user in the admin is required to exploit this
vulnerability. Here's looking at you CMS apps!
This vulnerability was discovered by Adam Baldwin
<mailto:adam_baldwin () ngenuity-is com><mailto:adam_baldwin () ngenuity-is com>
 - http://www.djangoproject.com
 - http://www.djangoproject.com/weblog/2010/dec/22/security/
- Django admin list filter data extraction / leakage Adam Baldwin (Dec 27)