diff --git a/next-env.d.ts b/next-env.d.ts index 9edff1c..c4b7818 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -1,6 +1,6 @@ /// /// -import "./.next/types/routes.d.ts"; +import "./.next/dev/types/routes.d.ts"; // NOTE: This file should not be edited // see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/security_review.md b/security_review.md new file mode 100644 index 0000000..bc4db39 --- /dev/null +++ b/security_review.md @@ -0,0 +1,161 @@ +# Revue de Sécurité - Afropreunariat + +Ce document détaille une revue de sécurité complète de l'application Afropreunariat (basée sur Next.js, Prisma et PostgreSQL). Il identifie les menaces potentielles, les vulnérabilités courantes associées à cette pile technologique, et propose des solutions concrètes pour s'en prémunir. + +--- + +## 1. Cross-Site Scripting (XSS) + +**La menace :** +Le XSS survient lorsqu'un attaquant parvient à injecter du code JavaScript malveillant dans les pages web consultées par d'autres utilisateurs. Cela permet de voler des sessions, de rediriger les utilisateurs ou de modifier le contenu du site. + +**Vulnérabilité identifiée sur le projet :** +L'application utilise massivement la propriété `dangerouslySetInnerHTML` pour afficher du contenu riche (articles de blog, événements, fiches entreprises, etc.) : +- `app/blog/[id]/page.tsx` +- `app/afrolife/[id]/page.tsx` +- `components/EventTimeline.tsx` +- `app/cgv/page.tsx`, `app/cgu/page.tsx` + +Si le contenu inséré dans `dangerouslySetInnerHTML` provient des utilisateurs (via un éditeur WYSIWYG dans le panel admin par exemple) et n'est pas "nettoyé" (sanitized), un attaquant pourrait inclure une balise `