Meetup OWASP Paris (15/05/2023)
Le meetup OWASP Paris du lundi 15 mai s’est déroulé chez Mobiskill
Lightning talks
Injection en CI
Les Github Action peuvent être exposées aux injections de code lors d’exécution de commandes shell.
Voici un exemple d’action vulnérable si l’attaquant peut choisir le titre de la PR:
- name: Check PR title
run: |
title="$"
if [[ $title =~ ^octocat ]]; then
echo "PR title starts with 'octocat'"
exit 0
else
echo "PR title did not start with 'octocat'"
exit 1
fi
La règle Semgrep run-shell-injection
permet de détecter partiellement l’erreur dans le code source de vos Github Actions.
Liens:
Enable TLS with postgresql
La plupart des bibliothèques d’accès aux données (exemple: sequelize, TypeORM, …) n’utilisent pas le TLS, même si le TLS est activé sur votre base de données.
Il faut donc:
- Forcer le TLS sur votre base de données (now by default with RDS PG15)
- Configurer votre bibliothèques avec le mode
verify-full
Exnmple pour Sequelize:
const fs = require('fs');
const path = require('path');
rootCertificate = path.join(__dirname, "root.crt");
module.exports = {
dev: {
username: "node",
password: process.env.PGPASSWORD,
database: "app",
host: "127.0.0.1",
dialec": "postgres",
dialectOptions: {
ssl: {
minVersion: 'TLSv1.2',
rejectUnauthorized: true,
ca: fs.readFileSync(rootCertificate).toString()
}
}
}
};
Unsecure webapp
Présentation d’une application volontairement vulnérable en PHP pour comprendre le fonctionnement des failles: IDOR, local file injection, XSS, …
Hacking tools
- Beef: outil pour exploiter les attaques XSS
-
Exécuter du code dans la base de données:
sys_exec()
pour MySQL et PostgreSQLxp_cmdshell()
pour Microsoft SQL Server
DSOMM
Presentation du projet DSOMM (DevSecOps Maturity Model de l’OWASP
Workshop
-
Atelier d’initiation a Keycloak
-
Atelier PenTest