Retour à la leçonMission
Mission : le middleware CORS qui accepte tout le monde
Repérer une configuration CORS dangereuse dans du code réel et la remplacer par une liste blanche stricte.
Contexte
Un audit de sécurité de l'API Technologik trouve ce middleware en production :
python
@app.middleware("http")
async def bad_cors(request, call_next):
response = await call_next(request)
origin = request.headers.get("origin", "*")
response.headers["Access-Control-Allow-Origin"] = origin
response.headers["Access-Control-Allow-Credentials"] = "true"
return responseUn site totalement étranger à Technologik, recettes-de-cuisine.example, parvient à faire des appels authentifiés vers l'API depuis le navigateur d'un utilisateur déjà connecté.