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
-
Java Development Kit : jdk 8+ Oracle JDK 8
-
maven 3.3.9+ : Unzip to a directory of your choice and add it to the
PATH
-
npm 5.3+
-
docker
-
chrome
-
IDE
-
un client REST (Postman, …)
-
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).