Hacking & SécuritéPython 3PHP / MySQLHTML / CSSJavaScript

Hacking & Sécurité : les Fondamentaux

Apprenez les fondamentaux de la sécurité informatique!

 

Objectifs

  • Comprendre et détecter les attaques sur un SI
  • Exploiter et définir l’impact et la portée d’une vulnérabilité
  • Corriger les vulnérabilités
  • Sécuriser un réseau et intégrer les outils de sécurité de base

 

Programme

Jour 1

Introduction
  • Définitions
  • Objectifs
  • Vocabulaire
  • Méthodologie de test
Prise d’information
  • Objectifs
  • Prise d’information passive (WHOIS, réseaux sociaux, Google Hacking, Shodan, etc.)
  • Prise d’information active (traceroute, social engineering, etc.)
  • Bases de vulnérabilités et d’exploits
Réseau
  • Rappels modèles OSI et TCP/IP
  • Vocabulaire
  • Protocoles ARP, IP, TCP et UDP
  • NAT
  • Scan de ports
  • Sniffing
  • ARP Cache Poisoning
  • DoS / DDoS

Jour 2

Attaques locales
  • Cassage de mots de passe
  • Elévation de privilèges
  • Attaque du GRUB
Ingénierie sociale

Utilisation de faiblesses humaines afin de récupérer des informations sensibles et/ou compromettre des systèmes

  • Phishing
  • Outils de contrôle à distance
Attaques à distance
  • Introduction à Metasploit Framework
  • Scanner de vulnérabilités
  • Attaques d’un poste client
  • Attaque d’un serveur
  • Introduction aux vulnérabilités Web
Se sécuriser
  • Les mises à jour
  • Configurations par défaut et bonnes pratiques
  • Introduction à la cryptographie
  • Présentation de la stéganographie
  • Anonymat (TOR)

 

Dans nos locaux :

Durée : 2 jours (14h)
Tarif : 1050 € HT

Demander un devis

Durant ces 3 jours de formation Python, essentiellement pratiques, nous aborderons les principaux concepts du langage, la syntaxe, les bonnes pratiques, ainsi que l’outillage. Des ateliers pratiques vous permettrons de mettre en oeuvre les notions abordées.
Cette formation aborde les différences entre Python 2 et Python 3.

Les objectifs

  • Posséder les bases du langage Python et bien comprendre ses particularités (objets mutables)
  • Debugger et maintenir les scripts développés par d’autres développeurs
  • Réaliser des scripts d’administration système
  • Développer ses propres programmes from scratch

Pré-requis

  • Connaissances de base en algorithmique
  • Avoir une réelle expérience dans un langage de programmation
  • Ordinateur portable à apporter

Le programme de la formation Python

Jour 1

Les types de données
– strings
– nombres
– tuples
– listes
– dictionnaires
– booléens et savoir quels objets sont vrais
– introspection (id, type, dir, help)
– Les particularités du langage Python : objets mutables et immutables (ce qu’il faut savoir)

Les structures de contrôle
– Les boucles for et while, les mots clefs break et continue
– Les tests if, elif et else
– les fonctions, paramètres, la portée des variables
– les fonctions spéciales map, lambda, filter et la notation par compréhension

Consolider son code
– Les exceptions : try, except, raise et finally
– Les assertions
– Le debugger en ligne de commande avec pdb
– Les tests unitaires avec doctest
– Les bonnes pratiques : pep8, property, enumerate
– Les outils de qualité de code

Jour 2

Gérer les charsets, encodings et unicode
– Comprendre et maîtriser ce qui provoque, peut provoquer des erreurs d’encodage
– Tout ce qu’un développeur doit savoir sur les charsets, les encodings et l’unicode

Maîtriser le sys.path
– Comprendre le sys.path, les modules et les packages
– Les environnements virtuels
– Installer un module tiers avec pip

Programmation orientée objet
– Les concepts de la programmation orientée objet
– Attributs de classe et d’instance
– Les méthodes spéciales (constructeur, destructeur, surcharge d’opérateurs…)
– L’héritage et la redéfinition de fonctions

Jour 3

Les librairies communes
– Récupérer les paramètres passés à un script : argparse
– Les expressions régulières
– La gestion de fichiers et le module CSV
– Exécuter des scripts système depuis Python : subprocess
– Test automatisés
– Mesures de performance

 

Dans nos locaux :

Durée : 3 jours (24h)
Tarif : 1500 € HT

Demander un devis

Pré-requis : Connaissances de HTML

 

Tour d’horizon PHP

Principes de fonctionnement
Le contexte Web
Les variables
Les types de données en un clin d’œil
Les opérateurs
Les instructions conditionnelles
Un type particulier : les tableaux
Les boucles, parcourir les tableaux
Trier les tableaux par ordre alphabétique
Introduction aux superglobales
Récupération de données de formulaire
Envoyer un e-mail
Les constantes

Organiser des scripts PHP – les fonctions

Déclaration de fonctions
Les paramètres et l’instruction return
Création de bibliothèques de fonctions
Fonctions prédéfinies : exemples, organisation, documentation
Fonctions pour les tableaux, mathématiques, chaînes de caractères, dates
Autres exemples de fonctions
Comment identifier les types des variables ?
Upload de fichiers : la variable $_FILES et les fonctions associées

Découvrir les méthodes de gestion du contexte applicatif

Principes de l’interaction avec l’utilisateur
Rappels des formulaires
Les champs cachés
Les URL longues
Introduction aux sessions
Sécuriser l’accès à l’administration des candidatures avec les sessions
Présentation des cookies
Afficher la date de dernier accès à la plate-forme d’administration des candidatures

Les bases de données

Utilité des bases de données
Présentation de PHPMyAdmin
Construction d’une base avec PHPMyAdmin
SQL sous PHPMyAdmin :
– Les principales instructions
– Lecture de code SQL
– Génération de multiples requêtes
– Les bonnes habitudes : tester ses requêtes avec PHPMyAdmin
Fonctions d’accès aux bases de données
Formulation de requêtes dans un fichier PHP

Pour aller plus loin avec PHP : création d’un CMS*

Spécifications et organisation du développement
Création des bibliothèques de génération de code HTML (sans connexion aux bases)
Génération de pages à partir des bibliothèques
Création de la base de données
Fonction d’insertion de pages et de stockages dans la base MySQL
Fonction de modification de pages
Fonction de suppression de pages
Modification des bibliothèques de génération de code HTML pour les coupler à la base

 

 

Dans nos locaux :

Durée : 3 jours (24h)
Tarif : 1200 € HT

Demander un devis

HTML5 est maintenant une norme mature et incontournable dans la réalisation de sites web modernes. Elle reste cependant encore méconnue et sujette à beaucoup d’idées fausses.

Dans cette formation nous reprendront les principales composantes de cette norme en transformant progressivement un site HTML4 en site HTML5.

Les objectifs

  • Découvrir les nouveautés apportées par HTML5
  • Les mettre en pratique dans un contexte concret

Pré-requis

  • Syntaxe de base des langages CSS, HTML et javascript
  • Expérience en développement web

Le programme de la formation HTML5

Introduction, historique et tour d’horizon du HTML5

  • Présentation du socle technique pour les TPs
  • Rappels sur javascript et jQuery
  • L’origine du HTML5
  • Tour d’horizon des nouveautés HTML5 et autour du HTML5

La sémantique

  • Nouvelles balises
  • Nouvelle gestion des titres

Les formulaires avec WebForms

  • Nouveaux type input
  • Nouvelles balises
  • Nouveaux attributs
  • Validations native des champs
  • Gestion de la compatibilité

Le multimédia : Audio et Vidéo

  • Rappels sur les codecs
  • Balises audio et video
  • API javascript associé

Le dessin 2D avec Canvas

  • Primitives de base
  • Courbes de bézier
  • Texte
  • Ombres et dégradés
  • Gestion des images
  • Transformations
  • Animation

Gestion des fichiers avec FileAPI

  • Manipulation des fichiers

Le multitache avec les WebWorkers

  • Utilisation des webworkers

Communication via WebSocket

  • Utilisation des websockets
  • Problématiques et alternatives

Mode Hors Ligne

  • Détecter le mode Hors Ligne
  • Mise en cache avancée avec AppCache

Stocker en local avec WebStorage

  • Utilisation du localstorage
  • Utilisation du sessionstorage
  • Alternatives et sécurité

Notifications coté serveur avec Server Sent Events

  • Recevoir des notifications
  • Format des notifications

Communication entre pages avec WebMessaging

  • Communication avec une iframe
  • Problématiques de sécurité

Nouveautés liées à la sécurité

  • Présentation de Web Content Security
  • Sécurisation des iframes

Introduction à CSS3

  • Nouvelles propriétés les plus communes
  • Média Queries
  • WebFont

Dans nos locaux :

Durée : 3 jours (24h)
Tarif : 1500 € HT

Demander un devis

Si la maîtrise de HTML et CSS pour faire des pages complexes reste relativement aisée, JavaScript reste souvent une Terra Icognita pour les intégrateurs web ou les équipes de développement habituellement plus à l’aise côté serveur avec une stack PHP, Java ou C#. Pourtant, la connaissance de JavaScript est fondamentale pour offrir la meilleure expérience utilisateur possible en évitant le rechargement complet de la page à chaque interaction, en sauvegardant localement un commentaire tapé dans un formulaire afin de le restituer en cas de crash ou pour faire des visualisations de données interactives.

On ressort de cette formation JavaScript avec la confiance de savoir faire des pages web interactives qui offrent une meilleure expérience utilisateur.

Les objectifs

  • Savoir construire une page web simple (HTML+CSS)
  • Comprendre les éléments de base de la programmation en JavaScript et interaction avec la page web (dont programmation événementielle)
  • Maîtriser les concepts importants de JavaScript (types, objets, fonctions, syntaxe, etc.)
  • Connaître des idiomes de la programmation JavaScript moderne (promesses, programmation fonctionnelle, etc.)
  • Savoir trouver une réponse sur le web (documentation, StackOverflow, caniuse.com, spécifications etc.)
  • Savoir analyser en autonomie une page web avec les outils développeur.

Pré-requis

  • Expérience d’au moins un an dans un autre langage de programmation (PHP, Python, Ruby, etc.)
  • Expérience d’au moins un an avec HTML et CSS

Le programme de la formation JavaScript

Jour 1

  • Rappels HTML et CSS
    • HTML
      • structure de base
      • éléments HTML importants et sémantiques
    • CSS
      • couleur
      • positionnement
      • “box model”
    • Étudier une page web avec l’inspecteur des outils développeur
  • Mise en pratique : construction d’une page web simple
  • JavaScript
    • Types primitifs
    • Objets
    • Fonctions
      • Notion de “scope”
    • Rappels sur le DOM
      • Requêtes sur l’arbre DOM
      • Programmation événementielle
  • Mise en pratique : construction d’une petite application interactive

Jour 2

  • (fin mise en pratique jour 1)
  • Communication client/serveur
    • Introduction simple à HTTP
      • GET/POST
      • En-têtes HTTP
      • Codes de retour
      • Cache HTTP
    • En JavaScript : XMLHttpRequest
    • Introduction aux promesses
  • Mise en pratique : construction d’une petite application utilisant XMLHttpRequest

Jour 3

  • (fin mise en pratique jour 2)
  • Introduction de l’API de localStorage
  • Conseils de performance/sécurité
  • Mise en pratique : construction d’une application stockant de l’information localement

Dans nos locaux :

Durée : 3 jours (24h)
Tarif : 1500 € HT

Demander un devis