Formation Secure coding in PHP
Le cours fournit aux développeurs de PHP les compétences essentielles nécessaires pour rendre leurs applications résistantes aux attaques contemporaines par le biais d'Internet. Les vulnérabilités du Web sont discutées à travers des exemples basés sur le PHP qui vont au-delà des dix principales vulnérabilités du OWASP, en abordant diverses attaques par injection, des injections de scripts, des attaques contre la gestion des sessions du PHP, des références directes d'objets non sécurisées, des problèmes avec le téléchargement de fichiers, et bien d'autres encore. Les vulnérabilités liées à PHP sont regroupées dans les types de vulnérabilités standard : validation d'entrée manquante ou incorrecte, gestion incorrecte des erreurs et des exceptions, utilisation incorrecte des fonctions de sécurité et problèmes liés au temps et à l'état. Pour ces derniers, nous discutons d'attaques telles que le contournement d'open_basedir, le déni de service par le biais de magic float ou l'attaque par collision de la table de hachage. Dans tous les cas, les participants se familiariseront avec les techniques et les fonctions les plus importantes à utiliser pour atténuer les risques énumérés.
Un accent particulier est mis sur la sécurité côté client en abordant les problèmes de sécurité de JavaScript, Ajax et HTML5. Un certain nombre d'extensions de PHP liées à la sécurité sont introduites comme hash, mcrypt et OpenSSL pour la cryptographie, ou Ctype, ext/filter et HTML Purifier pour la validation d'entrée. Les meilleures pratiques de renforcement sont données en relation avec la configuration de PHP (réglage de php.ini), Apache et le serveur en général. Enfin, une vue d'ensemble est donnée des différents outils et techniques de test de sécurité que les développeurs et les testeurs peuvent utiliser, y compris les scanners de sécurité, les tests de pénétration et les packs d'exploitation, les renifleurs, les serveurs proxy, les outils de fuzzing et les analyseurs statiques de code source.
L'introduction des vulnérabilités et les pratiques de configuration sont soutenues par un certain nombre d'exercices pratiques démontrant les conséquences d'attaques réussies, montrant comment appliquer des techniques d'atténuation et introduisant l'utilisation de diverses extensions et outils.
Les participants à ce cours
- Comprendre les concepts de base de la sécurité, de la sécurité informatique et du codage sécurisé
- Apprendre les vulnérabilités du Web au-delà du OWASP Top Ten et savoir comment les éviter
- Apprendre les vulnérabilités côté client et les pratiques de codage sécurisé
- Avoir une compréhension pratique de la cryptographie
- Apprendre à utiliser les différentes fonctions de sécurité de PHP.
- Connaître les erreurs de codage typiques et savoir comment les éviter
- Être informé des récentes vulnérabilités du framework PHP.
- Acquérir des connaissances pratiques sur l'utilisation des outils de test de sécurité
- Obtenir des sources et des lectures complémentaires sur les pratiques de codage sécurisé.
Public
Développeurs
Plan du cours
- Sécurité informatique et codage sécurisé
- Sécurité des applications web
- Vulnérabilités des applications web
- Sécurité côté client
- Sécurité côté client
- Cryptographie pratique
- PHP Services de sécurité
- PHP Environnement
- Principes de sécurité et codage sécurisé
- Erreurs de codage et vulnérabilités courantes
- Techniques et outils de test de sécurité
- Sources de connaissances
Les formations ouvertes requièrent plus de 3 participants.
Formation Secure coding in PHP - Booking
Formation Secure coding in PHP - Enquiry
Secure coding in PHP - Demande d'informations consulting
Demande d'informations consulting
Nos clients témoignent (3)
I genuinely enjoyed the real life examples.
Marios Prokopiou
Formation - Secure coding in PHP
Traduction automatique
All topics were well covered and presented with a lot of examples. Ahmed was very efficient and managed to keep us focused and attracted at all times.
Kostas Bastas
Formation - Secure coding in PHP
Traduction automatique
The subject of the course was very interesting and gave us many ideas.
Anastasios Manios
Formation - Secure coding in PHP
Traduction automatique
Cours à venir
Cours Similaires
AdaBoost Python for Machine Learning
14 HeuresCette formation en Canada (en ligne ou sur site) s'adresse aux data scientists et aux ingénieurs logiciels qui souhaitent utiliser AdaBoost pour construire des algorithmes de boosting pour l'apprentissage automatique avec Python.
A l'issue de cette formation, les participants seront capables de :
- Mettre en place l'environnement de développement nécessaire pour commencer à construire des modèles d'apprentissage automatique avec AdaBoost.
- Comprendre l'approche de l'apprentissage ensembliste et comment implémenter le boosting adaptatif.
- Apprendre à construire des modèles AdaBoost pour stimuler les algorithmes d'apprentissage automatique dans Python.
- Utiliser le réglage des hyperparamètres pour augmenter la précision et les performances des modèles AdaBoost.
Test Driven Development
21 HeuresCette formation en direct, animée par un formateur (en ligne ou sur site), s'adresse aux développeurs de logiciels et aux ingénieurs QA de niveau intermédiaire qui souhaitent adopter et maîtriser les principes et pratiques du développement piloté par les tests (TDD) pour améliorer la qualité du code et l'efficacité du développement.
A la fin de cette formation, les participants seront capables de :
- Comprendre les principes et le flux de travail du développement piloté par les tests (TDD).
- Rédiger des tests unitaires efficaces et maintenables.
- Utiliser des frameworks de mocking pour créer des scénarios de test complets.
- Appliquer TDD comme outil de conception pour créer un code robuste et flexible.
Android Security
14 HeuresAndroid est une plate-forme ouverte pour les appareils mobiles tels que les combinés et les tablettes. Il offre une grande variété de fonctions de sécurité pour faciliter le développement de logiciels sécurisés. Cependant, il manque également certains aspects de sécurité présents dans d'autres plates-formes portables. Le cours donne un aperçu complet de ces fonctionnalités et souligne les principales lacunes à connaître liées à Linux sous-jacent, au système de fichiers et à l'environnement en général, ainsi qu'à l'utilisation des autorisations et des autres composants de développement de logiciels Android .
Les pièges de sécurité et les vulnérabilités typiques sont décrits pour le code natif et Java applications Java , ainsi que les recommandations et les meilleures pratiques pour les éviter et les atténuer. Dans de nombreux cas, les problèmes discutés sont appuyés par des exemples concrets et des études de cas. Enfin, nous donnons un bref aperçu de la manière d'utiliser les outils de test de sécurité pour révéler les éventuels bugs de programmation liés à la sécurité.
Les participants à ce cours seront
- Comprendre les concepts de base de la sécurité, de la sécurité informatique et du codage sécurisé
- Apprenez les solutions de sécurité sur Android
- Apprendre à utiliser diverses fonctionnalités de sécurité de la plateforme Android
- Obtenir des informations sur certaines vulnérabilités récentes de Java sur Android
- En savoir plus sur les erreurs de codage typiques et comment les éviter
- Comprendre les vulnérabilités de code natif sur Android
- Réaliser les conséquences graves de la gestion non sécurisée des tampons en code natif
- Comprendre les techniques de protection architecturale et leurs faiblesses
- Obtenir des sources et des lectures supplémentaires sur les pratiques de codage sécurisé
Public
Professionnels
C/C++ Secure Coding
21 HeuresCe cours de trois jours couvre les bases de la sécurisation du code C / C++ contre les utilisateurs malveillants susceptibles d’exploiter de nombreuses vulnérabilités dans le code avec la gestion de la mémoire et la gestion des entrées. Le cours couvre les principes de l’écriture de code sécurisé.
Advanced Java Security
21 HeuresMême les programmeurs Java expérimentés ne maîtrisent pas tous les services de sécurité offerts par Java et ne sont pas non plus conscients des différentes vulnérabilités qui sont pertinentes pour les applications web écrites en Java.
Le cours - en plus d'introduire les composants de sécurité de l'édition standard Java - traite des questions de sécurité de l'édition d'entreprise Java (JEE) et des services web. La discussion de services spécifiques est précédée par les fondements de la cryptographie et de la communication sécurisée. Divers exercices traitent des techniques de sécurité déclaratives et programmatiques dans JEE, tandis que la sécurité de la couche transport et de bout en bout des services web est abordée. L'utilisation de tous les composants est présentée à travers plusieurs exercices pratiques, où les participants peuvent essayer eux-mêmes les API et les outils présentés.
Le cours passe également en revue et explique les failles de programmation les plus fréquentes et les plus graves du langage Java et de la plate-forme, ainsi que les vulnérabilités liées au web. Outre les bogues typiques commis par les programmeurs de Java, les vulnérabilités de sécurité présentées couvrent à la fois les problèmes spécifiques au langage et les problèmes liés à l'environnement d'exécution. Toutes les vulnérabilités et les attaques pertinentes sont démontrées à travers des exercices faciles à comprendre, suivis par les lignes directrices de codage recommandées et les techniques d'atténuation possibles.
Les participants à ce cours
- Comprendre les concepts de base de la sécurité, de la sécurité informatique et du codage sécurisé
- Connaîtront les vulnérabilités du Web au-delà du OWASP Top Ten et sauront comment les éviter
- Comprendre les concepts de sécurité des services Web
- Apprendre à utiliser les différentes fonctions de sécurité de l'environnement de développement Java.
- Avoir une compréhension pratique de la cryptographie
- Comprendre les solutions de sécurité de Java EE
- Connaître les erreurs de codage typiques et savoir comment les éviter
- Obtenir des informations sur certaines vulnérabilités récentes dans le cadre Java.
- Acquérir des connaissances pratiques sur l'utilisation des outils de test de sécurité
- Obtenir des sources et des lectures complémentaires sur les pratiques de codage sécurisé.
Public
Développeurs
Standard Java Security
14 HeuresLa description
Le langage Java et l'environnement d'exécution (JRE) ont été conçus pour être exempts des vulnérabilités de sécurité communes les plus problématiques rencontrées dans d'autres langages, telles que C / C++ . Cependant, les développeurs et architectes de logiciels devraient non seulement savoir comment utiliser les différentes fonctionnalités de sécurité de l'environnement Java (sécurité positive), mais également connaître les nombreuses vulnérabilités qui restent pertinentes pour le développement Java (sécurité négative).
L'introduction des services de sécurité est précédée d'un bref aperçu des fondements de la cryptographie, fournissant une base commune pour la compréhension de l'objectif et du fonctionnement des composants applicables. L'utilisation de ces composants est présentée à travers plusieurs exercices pratiques, au cours desquels les participants peuvent tester eux-mêmes les API discutées.
Le cours décrit et explique également les défauts de programmation les plus fréquents et les plus graves du langage et de la plate-forme Java , couvrant à la fois les bogues typiques commis par Java programmeurs Java et les problèmes spécifiques au langage et à l'environnement. Toutes les vulnérabilités et les attaques pertinentes sont démontrées au moyen d'exercices faciles à comprendre, suivis des directives de codage recommandées et des techniques d'atténuation possibles.
Les participants à ce cours seront
- Comprendre les concepts de base de la sécurité, de la sécurité informatique et du codage sécurisé
- Apprendre les vulnérabilités Web au-delà du Top Ten d' OWASP et savoir comment les éviter
- Apprendre à utiliser diverses fonctionnalités de sécurité de l'environnement de développement Java
- Avoir une compréhension pratique de la cryptographie
- En savoir plus sur les erreurs de codage typiques et comment les éviter
- Obtenir des informations sur certaines vulnérabilités récentes du framework Java
- Obtenir des sources et des lectures supplémentaires sur les pratiques de codage sécurisé
Public
Les développeurs
.NET, C# and ASP.NET Security Development
14 HeuresUn certain nombre de langages de programmation sont disponibles aujourd'hui pour compiler du code pour les frameworks .NET et ASP.NET. L’environnement fournit de puissants moyens de développement de la sécurité, mais les développeurs doivent savoir comment appliquer les techniques de programmation au niveau de l’architecture et du codage afin de mettre en œuvre la fonctionnalité de sécurité souhaitée et d’éviter les vulnérabilités ou de limiter leur exploitation.
L’objectif de ce cours est d’enseigner aux développeurs, à travers de nombreux exercices pratiques, comment empêcher le code non fiable d’exécuter des actions privilégiées, protéger les ressources par le biais d’une authentification et d’une autorisation fortes, fournir des appels de procédure à distance, gérer des sessions, introduire différentes implémentations de certaines fonctionnalités et de nombreuses autres. plus.
L’introduction de différentes vulnérabilités commence par la présentation de problèmes de programmation typiques lors de l’utilisation de .NET, tandis que la discussion des vulnérabilités de ASP.NET traite également de divers paramètres d’environnement et de leurs effets. Enfin, le sujet des vulnérabilités spécifiques à ASP.NET concerne non seulement certains problèmes généraux de sécurité des applications Web, mais également des problèmes particuliers et des méthodes d'attaque telles que l'attaque de ViewState ou les attaques par terminaison de chaîne.
Les participants à ce cours seront
- Comprendre les concepts de base de la sécurité, de la sécurité informatique et du codage sécurisé
- Apprendre les vulnérabilités Web au-delà du Top Ten d' OWASP et savoir comment les éviter
- Apprenez à utiliser diverses fonctionnalités de sécurité de l'environnement de développement .NET
- Obtenez des connaissances pratiques sur l'utilisation des outils de test de sécurité
- En savoir plus sur les erreurs de codage typiques et comment les éviter
- Obtenir des informations sur certaines vulnérabilités récentes de .NET et ASP.NET
- Obtenir des sources et des lectures supplémentaires sur les pratiques de codage sécurisé
Public
Développeurs
Microsoft SDL Core
14 HeuresLa formation de base SDL combinée donne un aperçu de la conception, du développement et des tests de logiciels sécurisés via Microsoft Secure Development Lifecycle (SDL). Il fournit un aperçu de niveau 100 des éléments constitutifs fondamentaux de SDL, suivi de techniques de conception à appliquer pour détecter et corriger les défauts dans les premières étapes du processus de développement.
Traitant de la phase de développement, le cours donne un aperçu des bogues de programmation liés à la sécurité typiques du code géré et du code natif. Les méthodes d'attaque sont présentées pour les vulnérabilités discutées ainsi que les techniques d'atténuation associées, le tout expliqué à travers un certain nombre d'exercices pratiques offrant un plaisir de piratage en direct pour les participants. L'introduction de différentes méthodes de test de sécurité est suivie par la démonstration de l'efficacité de divers outils de test. Les participants peuvent comprendre le fonctionnement de ces outils à travers un certain nombre d'exercices pratiques en les appliquant au code vulnérable déjà discuté.
Les participants qui assistent à cette formation seront en mesure de
Comprendre les concepts de base de la sécurité, de la sécurité IT et du codage sécurisé
Se familiariser avec les étapes essentielles du Microsoft Secure Development Lifecycle
Apprendre des pratiques de conception et de développement sécurisés
Acquérir des connaissances sur les principes d'implémentation sécurisée
Comprendre la méthodologie de test de sécurité
- Obtenir des sources et des lectures complémentaires sur les pratiques de codage sécurisé
Public
Développeurs, gestionnaires
Security Testing
14 HeuresAprès s'être familiarisés avec les vulnérabilités et les méthodes d'attaque, les participants découvrent l'approche générale et la méthodologie des tests de sécurité, ainsi que les techniques qui peuvent être appliquées pour révéler des vulnérabilités spécifiques. Les tests de sécurité devraient commencer par la collecte d'informations sur le système (ToC, c'est-à-dire la cible de l'évaluation), puis une modélisation approfondie des menaces devrait révéler et évaluer toutes les menaces, pour aboutir au plan de test le plus approprié basé sur l'analyse des risques.
Les évaluations de sécurité peuvent avoir lieu à différentes étapes du cycle de développement durable, et nous discutons donc de l'examen de la conception, de l'examen du code, de la reconnaissance et de la collecte d'informations sur le système, du test de l'implémentation et du test et du durcissement de l'environnement pour un déploiement sécurisé. De nombreuses techniques de test de sécurité sont présentées en détail, comme l'analyse des taches et l'examen du code basé sur l'heuristique, l'analyse statique du code, le test de vulnérabilité dynamique du web ou le fuzzing. Différents types d'outils sont présentés qui peuvent être appliqués afin d'automatiser l'évaluation de la sécurité des produits logiciels, ce qui est également soutenu par un certain nombre d'exercices, où nous exécutons ces outils pour analyser le code vulnérable déjà discuté. De nombreuses études de cas réels permettent de mieux comprendre les différentes vulnérabilités.
Ce cours prépare les testeurs et le personnel d'assurance qualité à planifier de manière adéquate et à exécuter avec précision les tests de sécurité, à sélectionner et à utiliser les outils et les techniques les plus appropriés pour trouver les failles de sécurité même cachées, et donne ainsi des compétences pratiques essentielles qui peuvent être appliquées le jour suivant.
Les participants à ce cours
- Comprendre les concepts de base de la sécurité, de la sécurité informatique et du codage sécurisé
- Apprendre les vulnérabilités du Web au-delà du OWASP Top Ten et savoir comment les éviter
- Apprendre les vulnérabilités côté client et les pratiques de codage sécurisé
- Comprendre les approches et les méthodologies des tests de sécurité
- Acquérir des connaissances pratiques sur l'utilisation des techniques et des outils de test de sécurité
- Obtenir des sources et des lectures complémentaires sur les pratiques de codage sécurisé.
Public
Développeurs, testeurs
Secure Web Application Development and Testing
21 HeuresProtéger les applications accessibles via le Web nécessite un professionnel de la sécurité bien préparé, toujours au courant des méthodes et des tendances actuelles en matière d’attaque. Il existe une pléthore de technologies et d'environnements qui permettent un développement confortable d'applications Web. Il convient non seulement de prendre conscience des problèmes de sécurité propres à ces plates-formes, mais également de toutes les vulnérabilités générales applicables quels que soient les outils de développement utilisés.
Le cours donne un aperçu des solutions de sécurité applicables dans les applications Web, avec un accent particulier sur la compréhension des solutions cryptographiques les plus importantes à appliquer. Les différentes vulnérabilités des applications Web sont présentées du côté serveur (après le Top Ten OWASP ) et du côté client, démontrées à travers les attaques pertinentes, et suivies des techniques de codage et des méthodes d'atténuation recommandées pour éviter les problèmes associés. Le sujet du codage sécurisé s'achève par la discussion de quelques erreurs de programmation typiques liées à la sécurité dans le domaine de la validation des entrées, de la mauvaise utilisation des fonctionnalités de sécurité et de la qualité du code.
Les tests jouent un rôle très important pour assurer la sécurité et la robustesse des applications Web. Diverses approches - allant de l'audit de haut niveau aux tests de pénétration en passant par le piratage éthique - peuvent être appliquées pour rechercher des vulnérabilités de différents types. Toutefois, si vous souhaitez aller au-delà des solutions faciles à trouver, les tests de sécurité doivent être bien planifiés et correctement exécutés. Rappelez-vous que les testeurs de sécurité devraient idéalement trouver tous les bogues pour protéger un système, tandis que pour les adversaires, il suffit de trouver une vulnérabilité exploitable pour y pénétrer.
Des exercices pratiques vous aideront à comprendre les vulnérabilités des applications Web, les erreurs de programmation et surtout les techniques de réduction, ainsi que des essais pratiques de divers outils de test, des scanners de sécurité aux sniffers, serveurs proxy, outils de fuzzing aux analyseurs statiques de code source. compétences pratiques essentielles pouvant être appliquées le lendemain sur le lieu de travail.
Les participants à ce cours seront
- Comprendre les concepts de base de la sécurité, de la sécurité informatique et du codage sécurisé
- Apprendre les vulnérabilités Web au-delà du Top Ten d' OWASP et savoir comment les éviter
- Apprendre les vulnérabilités côté client et les pratiques de codage sécurisé
- Avoir une compréhension pratique de la cryptographie
- Comprendre les approches et méthodologies de test de sécurité
- Obtenir des connaissances pratiques sur l'utilisation de techniques et d'outils de test de sécurité
- Être informé des vulnérabilités récentes de diverses plates-formes, infrastructures et bibliothèques
- Obtenir des sources et des lectures supplémentaires sur les pratiques de codage sécurisé
Public
Développeurs, testeurs
Laravel PHP Framework
14 HeuresCette formation en direct à Canada présente les principes fondamentaux de la Laravel et accompagne les participants dans la création d'une application web basée sur la Laravel.
Laravel Livewire
7 HeuresCette formation en direct (en ligne ou sur site) est destinée aux développeurs qui souhaitent apprendre à utiliser Livewire pour créer des interfaces d'application modernes et dynamiques.
A l'issue de cette formation, les participants seront capables de :
- Construire et tester les composants Livewire.
- Créer des applications en utilisant la bibliothèque Livewire.
- Créer des composants dynamiques dans PHP.
Laravel and Vue.js
14 HeuresCette formation en direct avec instructeur (en ligne ou sur site) est destinée aux développeurs web qui souhaitent utiliser Laravel et Vue JS pour le développement web complet.
A l'issue de cette formation, les participants seront capables de :
- Développez des applications web avec Laravel et Vue JS.
- Intégrer l'API Laravel dans Vue JS.
- Déployer une application Laravel.
Unit Testing with PHPUnit
14 HeuresCette formation en direct avec instructeur dans Canada apprend aux participants à écrire du code testable sous forme d'unités de test pour faciliter le diagnostic, l'isolation et la résolution des bogues. La formation accompagne les participants dans la création d'un environnement de test prêt à l'emploi en utilisant le PHPUnit testing framework.
A la fin de cette formation, les participants seront capables de :
- Distinguer les bonnes et les mauvaises unités de test.
- Lire et interpréter les résultats des tests.
- Gérer et diagnostiquer leur base de code de manière proactive afin de réduire les bogues.
- S'assurer que leur base de code est adaptée à l'intégration et au déploiement continus.
Laravel: Middleware Development
14 HeuresCette formation en direct avec instructeur (en ligne ou sur site) s'adresse aux développeurs web qui souhaitent créer des intergiciels et des services web en Laravel.
A l'issue de cette formation, les participants seront capables de :
- Utiliser Laravel PHP Aritisan pour générer du code et des composants.
- Construire des API RESTful dans Laravel qui peuvent naviguer, lire, éditer, ajouter et supprimer.
- Filtrer et trier les résultats en fonction des paramètres de l'URL à l'aide des API RESTful.