15/01/2025

Auteur : Mickael Dorigny

Mickael Dorigny
  • Co-founder
  • 571 articles

Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.

Développement Web

Exécuter des commandes shell par un script PHP

I. Présentation Avec la fonction PHP « shell_exec », il est possible d’exécuter des commandes sur un serveur linux à travers un script PHP. Cela donne par exemple la possibilité de gérer son serveur par une interface web. II. Utilisation A. Exemple d’utilisation vim PhpScript.php <?php shell_exec (‘mkdir dossier02’); ?> B.Exécution du script en mode console Pour exécuter notre script et voir si il fonctionne, on doit l’exécuter avec la commande « php <nom du fichier> » : php PhpScript.php Il est aussi intéressant sur une page web de récupérer et d’afficher le résultat d’une commande exécutée par le script PHP : <?php $Commande = shell_exec (‘ls -al’); echo « $Commande »; ?>

Lire cet article
Base de données

Introduction au MCD

I. Présetation Le MCD (Modèle Conceptuel de Données) a été créé pour normaliser l’écriture des données. C’est une représentation des données et de leurs interactions. II. Pourquoi normaliser les données L’intégration de la gestion des données dans le système d’informations nécessite d’avoir une représentation graphique de ces données. Le fait de normaliser cette représentation permet de rendre compréhensibles à tous un ensemble de données. III. Le contexte d’un MCD La construction d’un MCD débute souvent par un compte rendu d’un besoin de répertoriage des données. Une entreprise souhaite inventorier et répertorier l’ensemble de ses switchs et leur bâtiment d’implantation. Un switch dispose de plusieurs caractéristiques : son numéro d’identification, son modèle, le nombre de port Mbit/s et Gbit/s dont il dispose. Un switch ne peut être implanté que dans un seul bâtiment à la fois (logique). La position d’un switch dans un bâtiment est précisée avec le numéro du bâtiment et le nom du bâtiment du bâtiment où il est

Lire cet article
Base de données

Du MCD au Modèle Logique des Données

I. Présentation La traduction du MCD vers le MLD a pour but de rendre plus clair les liaisons entre les entités. Le MLD permet de mettre en évidence les associations n,n qui donnent alors naissance à des entités à part entière. Il permet aussi de mettre en évidence les clés étrangères et donc les interactions entre les entités. La construction du MLD se fait à partir de la lecture du MCD. Chaque Entité donne une ligne où l’on détaille la clé primaire par le nom de l’attribut qui sera alors souligné. Les clés étrangères sont identifiées par un # avant le nom de l’attribut. II. Exemple Il s’agit des entités T_Switchs, T_Batiments et T_Fabricants T_Batiments(Bat_Num, Bat_Nom); T_Fabricants(F_Num, F_Nom); T_Switchs(Sw_Num, #Sw_NumFabr, #Sw_NumBat, Sw_Modele, Sw_NbPortsMb, Sw_NbPortsGb); Les attributs Sw_NumFabr et Sw_NumBat sont des clés étrangères des attributs F_Num et Bat_Num. Elles indiques une liaison entre ces tables. Plus simplement, un switch est fabriqué par le fabricant X et est implanté dans le

Lire cet article
VMware

Importer un périphérique USB sur un hôte ESX

I. Présentation Lors de l’utilisation d’une machine virtuelle depuis un hôte VMWare ESX, il peut arriver que l’utilisateur ai besoin d’importer un périphérique USB. Cela nécessite plusieurs manipulations. II. Procédure Nous allons commencer par monter un lecteur de périphérique USB. Pour cela, il faut effectuer un clic droit sur la machine virtuelle puis « Modifier les paramètres » Ensuite, il faut aller dans « Ajouter  » de l’onglet « Matériel  » afin de créer un lecteur de périphérique USB. Vous pouvez choisir deux types de lecteurs, le premier (EHCI/ UHCI) ne gère que l’USB 1.1 et 2 (version de la plupart des périphériques). Le lecteur xHCI peut lui gérer toutes les versions USB. Vous pouvez alors voir que le périphérique est monté. Pour monter une clé USB située sur l’hôte vers la machine virtuelle, il faut cliquer sur l’icône du périphérique USB. Une sécurité VMWare s’occupera de déconnecter le périphérique en toute sécurité sur la machine hôte puis de la connecter vers la machine

Lire cet article
Base de données

Base de la ligne de commande sous MySQL

I. Présentation Dans ce tuto, nous allons apprendre à utiliser MySQL en ligne de commandes.  En effet, nous avons la possibilité d’utiliser MySQL en ligne de commandes plutôt que par son interface graphique (PhpMyAdmin), cela a l’avantage de mieux comprendre le fonctionnement de MySQL et d’être plus libre au niveau des commandes. Pour utiliser MySQL en ligne de commandes : II. Sous Windows A partir du dossier Wamp : wamp\bin\mysql\mysql5.1.36\bin\mysql.exe   III. Sous Linux Il faut utiliser la commande suivante pour lancer une session mysql : mysql   IV. Options Pour vous logguer sous le nom d’un utilisateur : mysql.exe -u [utilisateur] -p Puis entrez votre mot de passe. Une fois dans la ligne de commande sous MySQL, pour connaître l’état de votre serveur MySQL : status Toutes les autres options sont disponibles en entrant « \h »ou « -h » ( sous Linux ) Vous pouvez utiliser toutes ces commandes MySQL. V. Exemple show databases; # Voir toutes les Bdd de votre serveur

Lire cet article
Commandes et Système

Contournement du système DynDNS

I. Présentation Dans cette fiche, nous allons apprendre à nous passer du sytème DynDNS qui est récemment devenu payant chez tout les fournisseurs de service DynDNS. II. Qu’est ce qu’un DynDNS Un DynDns est un système de suivi d’IP fixe. La plupart des IP fournies pour les particuliers par les FAIs sont des IP ayant des bails d’attribuations. Le bail dur généralement plus ou moins 24h. Le DynDNS se fixe entre votre box et le service des différents sites ( www.dyndns.fr , www.dyn.org ) et affecte votre IP à un nom de domaine. Ainsi, seul ce nom de domaine est à retenir, celui-ci sera relié à votre IP publique dans tout les cas. Sans DynDns vous aurez des difficultées si vous voulez joindre votre réseau local depuis Internet (comment joindre quelqu’un qui change tout le temps d’adresse ?). Mais le suivi de votre IP dynamique reste possible graçe à deux trois manipulations informatiques 😉 . Cette procédure s’exécute en trois

Lire cet article
Logiciels

Votre Wifi et InSSIDER

I. Présentation Il existe 13 ou 14 canaux sur lesquels les box peuvent diffuser leurs ondes wifi, plus le nombre de diffusions sur la même fréquence est important, plus le nombre de collisions est élevé. InSSIDER est un logiciel libre qui permet de visualiser les différents points d’accès Wifi autour de votre carte réseau ainsi que de collecter diverses informations sur leurs champs de diffusions, leurs fréquences, etc… Une fois installé, exécutez InSSIDer et lancez la détection : II. Analyse de la détection Une liste des points d’accès Wifi à proximité avec leur adresses Mac, SSid, RSSI (Receveid Signal Stength Indication – puissance du signal), le canal utilisé ( information qui nous intéresse principalement), … Il est visuellement plus facile de constater que les canaux sont tous « les uns sur les autres » grâce à cette vue : Le graphique d’amplitude (qualité du signal) par point d’accès : Nous voyons ici que la plupart des points étant sur le canal 6,

Lire cet article
Services

Mise en place d’une solution d’analyse des logs : SARG

I. Présentation Dans ce tutoriel, nous allons apprendre à mettre en place un analyseur de logs qui travail avec Squid. Pour faire ce tutoriel, il faut que vous ayez un proxy Squid opérationnel, je vous conseille donc ce tutoriel si ce n’est pas le cas : Mise en place d’un proxy Squid. II. Qu’est ce que l’analyse des logs ? Les logs sont les fichiers ( textes ) créés par les proxy qui y listent et répertorient le comportement des utilisateurs du réseau. Les flux du réseau local vers internet sont donc tous capturés et inscrits dans un ou plusieurs fichiers de logs. Ces fichiers contiennent plusieurs milliers de lignes et un nombre immense d’informations. En voici un exemple : Nous voyons bien que la lecture de ces lignes est complexe. Dans une entreprise ou un organisme de plusieurs centaine de postes. Un fichier de logs peut atteindre plusieurs centaines de Mo en quelque jours. Pour faciliter la consultation et

Lire cet article
Commandes et Système

Gestion de l’umask sous Linux

I. Présentation Dans ce tutoriel, nous allons apprendre la fonction, le fonctionnement et l’utilisation de l’umask sur les distributions Linux. L’umask est un outil de gestion des droits sur la création des fichiers et des répertoires qui permet de gérer une certaines sécurité et une restriction des droits par défaut. En définissant un umask, on retire automatiquement l’umask des droits défini sur la création des futurs fichiers ou répertoires. II. Fonctionnement Lors de la création d’un fichier, les droits par défaut qui s’y appliquent sont « rw-r–r–». On peut imaginer que par défaut, le fichier est créé par défaut avec les droits « 666 » ou « rw-rw-rw- » mais que l’umask qui s’y applique enlève automatiquement certains droits qui sont les droits d’écriture pour le groupe et les autres utilisateurs. Un répertoire quant à lui est créé par défaut avec les droits « 777 », il faut donc calculer l’umask en conséquence car un umask de « 022 »

Lire cet article
Base de donnéesBatch

Sauvegarder une base de données sous Windows

I. Présentation Cette fiche a pour objectif de créer un script de sauvegarde rapide d’une base de données sous un format.sql. Nous commencerons pat générer le nom du fichier dans lequel nous allons sauvegarder la base de données. II. Le script et les explications SET JOUR=%date:~-10,2% # prend les deux premiers chiffres de la commande date SET ANNEE=%date:~-4% # prend les 4 derniers chiffres de la commande date SET MOIS=%date:~-7,2% # prend les deux chiffres en partant de 7 caractères depuis la fin ( les deux chiffres du mois ) SET HEURE=%time:~0,2% # prend les deux premiers chiffres de la commande time SET MINUTE=%time:~3,2% # prend les chiffres 2 et 3 de la commande time ( les minutes ) SET REPERTOIR=E:\Desktop\ # A modifier si votre Bureau n’est pas à cet endroit SET FICHIER=%REPERTOIR%\Sauvegarde_du_%JOUR%_%MOIS%_%ANNEE%_A_%HEURE%_%MINUTE%.sql # Création du fichier avec les informations récupérées IF NOT exist « %REPERTOIR% » md « %REPERTOIR% » # pointage vers mysqldump, à modifier si le votre ne se trouve

Lire cet article
Services

Utilisation des heures et dates avec SQUID

I. Présentation Le principe de ce tutoriel est d’apprendre à gérer les heures et les dates avec le proxy squid. Ce tutoriel nécessite les bases de Squid, je vous conseille ce tutoriel si vous n’avez pas encore de Squid opérationnel : installation et configuration de SQUID . Grâce à l’élément « time » dans le fichier de configuration de squid, il est possible de déclarer des périodes temporelles sur lesquelles nous pourrons appliquer des droits d’accès ou ACL. Sur ces éléments nous pouvons appliquer des périodes en heures ou en jours. II. Exemple Une ACL sur des heures de travail acl horaires_travail time M-F 08:00-17:00 M-F correspond à Monday-Friday ( de lundi à vendredi ). Nous aurions aussi pu l’écrire ainsi : acl horaires_travail time MTWHF 08:00-17:00 Une Acl sur une fourchette d’heure plus précise : acl Exception1 time W 11:30-11:50 Cette Access-list correspond à une période de 20 minutes le mercredi. III. Utilisation concrète Nous allons maintenant penser à un contexte

Lire cet article
Bash

Réaliser plusieurs ping en un script

I. Présentation Le but de ce petit script est d’effectuer en une seule commande un test de l’ensemble des étapes de sortie des paquets vers le net. Ainsi en cas de dysfonctionnement d’une machine sur la route de sortie, nous pourrons déterminer à quel endroit précis ce dysfonctionnement ce situe en un script. Ce script est utile pour les réseaux importants, en effet, dans un réseau de particulier ou la seule route de sortie est celle vers la passerelle, puis vers le net, il est inutile d’utiliser un tel script. II. Le script #!/bin/bash tab[0]=127.0.0.1 tab[1]=192.168.1.18 tab[2]=192.168.1.1 tab[3]=194.2.0.20 i=1 while (( $i < ${#tab[*]} )); do ping -c 1 ${tab[$i]} -q tabR[$i]=${?}; i=$((i+1)); done clear i=1 while (( $i < ${#tab[*]} )); do if [ ${tabR[$i]} -eq 0 ]; then echo  » ${tab[$i]} répond correctement au ping.  » else echo  » ${tab[$i]} ne répond pas, l’erreur peut venir de cette étape. » fi i=$((i+1)); done   III. Explication du script Dans

Lire cet article
Services

Création d’un FTP avec utilisateurs et répertoire de groupe

I. Présentation Dans cette fiche, nous allons créer un serveur FTP avec un accès utilisateur ( login/ mot de passe ) qui auront, en plus de leur répertoire personnel, un répertoire de groupe. De plus nous créerons un utilisateur admins ( différent de Root ) qui pourra gérer tous les répertoires de groupes. II. Définition des utilisateurs micka, dans le groupe compta albert, dans le groupe com jean qui sera “l’admin” du ftp II. Création des utilisateurs et des groupes adduser micka adduser albert adduser jean groupadd compta groupadd com addgroup albert com addgroup micka compta   III. Création des répertoires pour les groupes mkdir /home/compta mkdir /home/com chgrp compta compta chgrp com com Nous donnons un droit de lecture, écriture et execution aux membres du groupes et au propriétaire du groupe chmod 770 compta chmod 770 com Nous metttons jean en tant que propriétaire des groupes. chown jean compta chown jean com mkdir /home/micka/compta mkdir /home/albert/com cd /home/jean mkdir

Lire cet article
Batch

Copie automatique du contenu d’un périphérique

Nous allons voir comment créer un fichier .bat permettant d’effectuer une copie de périphérique ( tel qu’une clé USB ) de manière quasi-automatique. Pour cela nous utiliserons la commande ROBOCOPY Il nous suffit d’inscrire dans un fichier .bat la commande : Robocopy \E [LettrePeriph] [CheminDestination] \E :est l’option permettant de copier les sous-répertoires ( y compris les vides ) \S :permet de copier les sous-répertoires hormis les vides. \MOV :coupe les fichiers \MOVE :coupe les fichiers ET les répertoires. \XF [fichier] : Exclue les fichiers dans le chemin défini \XF [repertoires] : Exclue les répertoires dans le chemin défini

Lire cet article