/devoxx-2018

Lab @ devoxx 2018 - secure Angular/REST app against OWASP Top 10

Primary LanguageJavaApache License 2.0Apache-2.0

Piratez mon application …​ et sécurisez la.

Hands-on Labs @ devoxx 2018

Trouvez les failles d'un SinglePage App Angular et backend REST/java puis corrigez les.

Vers l'OWASP et au-delà :

▶️ Corriger les failles correspondant au Top 10 OWASP
▶️ Corriger d'autres failles pour aller plus loin
▶️ Automatiser les tests de sécurité sur son application

1. Pré-requis

  1. Java Development Kit : jdk 8+ Oracle JDK 8

  2. maven 3.3.9+ : Unzip to a directory of your choice and add it to the PATH

  3. npm 5.3+

  4. docker

  5. chrome

  6. IDE

  7. un client REST (Postman, …​)

  8. requestbin (https://github.com/Runscope/requestbin#readme) en version docker

2. Préparation

git clone https://github.com/javathought/devoxx-2018

Vous pouvez importer le code dans votre IDE préféré comme un projet Maven — Référez vous à la documentation de votre IDE pour savoir comment l’importer --.

Pour Eclipse

Cliquez sur File - Import …​ - Maven - Existing Maven Projects

Sélectionnez l’emplacement où vous avez cloné les sources.

Cliquez sur Finish and wait…​

Pour IntelliJ

Cliquez sur File - Open …​

Sélectionnez l’emplacement où vous avez cloné les sources.

2.1. Récupération des dépendances

docker pull mysql/mysql-server:5.7
mvn dependency:resolve
cd owasp-angular
npm install lite-server
npm install
cd  ../owasp-hacker
npm install lite-server
npm install

2.2. Installation images ELK

docker pull mysql:5.7
docker pull docker.elastic.co/elasticsearch/elasticsearch-platinum:6.2.3
docker pull docker.elastic.co/kibana/kibana:6.2.3
docker pull docker.elastic.co/logstash/logstash:6.2.3

2.3. Création de la base de données

docker run --name devoxx-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:5.7
docker exec -i -t devoxx-mysql /bin/bash
mysql -p
create database devoxx_tia;
CREATE USER 'devoxx'@'%';
GRANT ALL PRIVILEGES ON devoxx_tia.* To 'devoxx'@'%' IDENTIFIED BY 'owasp-2017;';
exit;
exit
mvn flyway:migrate -pl owasp-jersey

2.4. Lancement de l’application

mvn exec:java -Dexec.mainClass="io.github.javathought.devoxx.Main" -pl owasp-jersey
cd owasp-angular
npm run lite

2.5. Génération du guide

mvn generate-resources

3. Allons-y

Le Lab peut commencer : suivez le pas à pas en html sous target/generated-docs/steps.html (Les indices sont masqués dans la version html pour ne pas être dévoilés tout de suite).