Skip to content

avergnaud/semgrep_RisXSS

Repository files navigation

Ce repo illustre la conférence ci-dessous avec des exemples concrets.

https://www.youtube.com/watch?v=v_RzIPS72E0

Etat du code

L'application (Next.JS) qui sert d'exemple...

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.js. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Inter, a custom Google Font.

Utilisation de semgrep

https://semgrep.dev/docs/getting-started/quickstart

podman container run --rm semgrep/semgrep semgrep --version
podman container run -it semgrep/semgrep semgrep login

-> retourne le token YOUR_TOKEN.

podman container  run -e SEMGREP_APP_TOKEN=YOUR_TOKEN --rm -v "${PWD}:/src" semgrep/semgrep semgrep ci

Résultat sur https://semgrep.dev :

démo semgrep

Comparaison de semgrep avec d'autres outils

outil vulnérabilité détectée niveau de détail
sonarcloud standard démo
dependabot GitHub bof démo
OWASP dependency check démo exec bof démo résultat
semgrep ✅ donne la ligne

Utilisation de theodo RisXSS

https://github.com/theodo/RisXSS

Exemple non détecté

Discuté : vercel/next.js#50093

-> Exfiltration des cookies et vol de session. Cf https://github.com/owasp-training/1-dom-xss/blob/main/README-fr.md

eslint ko

Exemple détecté

<div dangerouslySetInnerHTML={{
  __html: "<img src='x' onerror='javascript:alert(1)' />"
}}>
</div>

eslint ok

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages