Vous êtes sur la page 1sur 6

L’école des leaders.

25 années au service de l'excellence


***_***
Ecole Supérieure de Gestion,
d’Informatique et des Sciences

TRAVAUX DIRIGES
Filière : Licence 3 IRT-ESGIS Option Architecture Logicielle

Exercice 1

1. Clarification des terminologies ci-après : La sécurité des systèmes d’information


– Confidentialité – Authenticité – Intégrité – Disponibilité – Vulnérabilité –
Attaque – Contre-mesure – Menace – Risque
2. Quels sont les différents niveaux à sécuriser dans un système d’information ?
REPONSE : Données, Réseaux, Applications, Machines, Physiques
3. Citez quatre catégories de menaces actives.
REPONSE : Fabrication, Interruption,
4. Les modèles de sécurité ?
5. Différence entre la sécurité en série et la sécurité parallèle
6. Description de : Les OTP (One-Time Password) par SMS - Les OTP (One-Time
Password) par soft token - Les OTP (One-Time Password) par hard token - Les
certificats logiciels - La biométrie
7. Les six vulnérabilités classiques dans une application (L’usurpation d’identité –
La falsification – La répudiation – La divulgation – le Déni de service – L’élévation
des privilèges)
8. Quelles sont les différences entre menaces intentionnelles et menaces
accidentelles, menaces actives et menaces passives.
REPONSE : Les menaces intentionnelles sont des menaces sans
préméditation tds que les menaces accidentelles sont des menaces
9. La norme traitant des systèmes de management de la sécurité de l’information
(SMSI) est l’ISO/CEI 27001 s’appesantit sur quels critères ?
REPONSE : Confidentialite, Intégrité, Disponibilité
10. Les causes des vulnérabilités suivantes et comment s’en protéger :
a. Injection SQL
b. Cross Site Scripting
c. Cross Site Tracing
d. Cross Site Request Forgery
e. Injection de Code
f. Null Byte Injection
g. Remote File Inclusion
h. Upload
i. Indexation des répertires

1
j. Password Guessing
k. Slowloris

Exercice 2

Dans le cadre de développement d’une application d’automatisation des carnets de


santé, Jean-Yves nous montre le contenu d’un fichier dénommé appAllergyAdd.js
(voir Annexe 2)

Il souhaite ta contribution pour améliorer son application afin qu’elle soit sécurisée.
Que lui conseilleras-tu ?

Exercice 3

Un étudiant de licence a développé une application de gestion. Le document en


Annexe 1 présente un extrait du code d’une des pages de cette application de
l’application.

1. Identifier les différentes failles de sécurité du code et leurs impacts éventuels.


2. Quelles mesures correctives suggérer ?
REPONSE : Il n’a pas définies un format pour son adresse ip, on doit écrire
une expression régulière pour forcer l’utilisateur à entrer l’IP tel le format
on veut.
Il n’a pas filter les données il doit le faire
Au niveau du npam -A il doit vérifier o

Exercice 4

Le code figurant en Annexe 3 représente une portion de code d’une application


développée par un étudiant de la deuxième année en Architecture Logicielle à
l’Ecole Supérieure de Gestion, d’Informatique et des Sciences (ESGIS). Avant le
déploiement, il vous contacte aux fins de l’assister à corriger les différentes failles de
sécurité possible dans son application.

1. Expliquez quelle la fonctionnalité proposée par cette page.


2. Identifiez ses problèmes de sécurité et leurs impacts potentiels.
3. Que proposez-vous comme solution ?

REPONSE :
En notifiant que le username est incorrect
Il n’a pas filter les données
L’utilisateur peut supprimer la ligne et mettre autre fichier autre que
php(null byte injection)
On doit éviter que dans le nom de page on puisse mettre des %00

2
3
Document 1 o

<?php
require_once ’header.php’
?>

<h1>Free online tools</h1>

<div class="container background−white">


<!−− Nmap Box −−>
<div class="col−md−6 col−md−offset−3 col−sm−offset−3">
<form class="" method="POST" action="">
<div align="center" class="error">
<?php if (isset($error)) echo $error; ?>
</div>
<div class="login−header margin−bottom−30">
<h2>Enter an IP Address</h2>
</div>
<div class="input−group">
<span class="input−group−addon">
<i class="fa fa−eye"></i>
</span>
<input name="ip" placeholder="ip" class="form−control" type="text">
</div>
<div class="row">
<div class="col−md−6">
<input type="submit" class="btn btn−primary pull−right"
name="submit" value="Try!"/>
</div>
</div>
<hr>
<h4>Nmap, the best network scanner of the wor ld ...</h4>
<p>
</form>
</div>
<!−− End Nmap Box −−>
</div>

<?php
if (isset($_POST["submit"]))
{
if (empty($_POST[’ip’]))
$error = "IP field is required.";
else
{
$ip = $_POST[’ip’];
echo "<pre>";
system("nmap −A ".$ip);
echo "</pre>";
}
}
require_once(’footer.php’);
?>

4
Document 1

$username = $_GET[’username’];
$password = $_GET[’password’] ;

$sqluser = mysql_query ( "SELECT COUNT(*) FROM users WHERE username


= ’".$username."’ ");

$countuser = mysql_fetch_row($sqluser) ;
if ($countuser[0] == 0) {
$errormsg = "Your Username is incorrect. Please try again";
} else {
$sqlpass = mysql_query("SELECT COUNT(*) FROM users WHERE username
= ’".$username."’ AND password = ’".$password."’");
$countpass = mysql_fetch_row($sqlpass);
if ($countpass[0] == 0) {
$errormsg = "Your Password is incorrect. Please try again";
} else {
$page = $_GET[’page’];
if (file_exists(’pages/’.$page.’.php’)) {
include(’pages/’.$page.’.php’);
...
}
}
}

Document 1

$username = $_GET[’username’];
$password = $_GET[’password’] ;

$sqluser = mysql_query ( "SELECT COUNT(*) FROM users WHERE username


= ’".$username."’ ");

$countuser = mysql_fetch_row($sqluser) ;
if ($countuser[0] == 0) {
$errormsg = "Your Username is incorrect. Please try again";
} else {
$sqlpass = mysql_query("SELECT COUNT(*) FROM users WHERE username
= ’".$username."’ AND password = ’".$password."’");
$countpass = mysql_fetch_row($sqlpass);
if ($countpass[0] == 0) {
$errormsg = "Your Password is incorrect. Please try again";
} else {
$page = $_GET[’page’];
if (file_exists(’pages/’.$page.’.php’)) {
include(’pages/’.$page.’.php’);
...
}
}
}

5
6

Vous aimerez peut-être aussi