Retour à la leçon
Mission

Mission : le faux fichier PNG qui passe la validation

Corriger un endpoint d'upload d'image qui fait confiance au content_type déclaré par le client et qui réutilise le nom de fichier fourni.

Contexte

Sur POST /products/{id}/images de app/routers/products.py, la validation actuelle vérifie uniquement if file.content_type not in ALLOWED_TYPES. Un audit de sécurité a réussi à uploader un script exécutable renommé photo.png avec un content_type: image/png falsifié dans la requête, qui a été accepté sans problème. Le fichier est ensuite sauvegardé sous son nom original directement fourni par le client.