Initial commit

This commit is contained in:
Maxime Augier 2024-05-22 15:10:56 +02:00
commit 39de993483
2 changed files with 83 additions and 0 deletions

41
demo.typ Normal file
View File

@ -0,0 +1,41 @@
#import "exam.typ" : exam, question
#show: doc => exam(
title: "Test Intermédiaire 2",
subtitle: "HEIG-VD - Introduction à la Sécurité Informatique (ISI)",
course: "ISI",
date: datetime(year: 2024, month: 5, day: 27),
author: "Maxime Augier",
indications: [
Indications:
- Ce test doit être réalisé en maximum *45 minutes*.
- Aucun document n'est admis, excepté une page A4 (recto-verso) de
résumé personnel
- L'utilisation de tout type de matériel électronique est interdite.
- Ne pas oublier d'inscrire votre nom et prénom à l'endroit prévu à cet effet.
- Merci de respecter un silence absolu jusqu'à ce que le dernier étudiant
aie rendu sa copie
],
doc
)
= Web
Vous opérez linfrastructure d'une association de hackers amateurs, et remarquez un comportement étrange sur votre serveur web.
Vous lisez les logs de votre serveur web, et observez plusieurs requêtes suspectes, par exemple lURL suivante :
`https://hackerz-club.ch/forum/browse.php?category=XSS&sort=post_date+union+select+%2A+from+users`
#question[Quel est le nom usuel de la vulnérabilité exploitée
ci dessus ?][Injection SQL (dans une clause ORDER BY)]
#question(points: 2)[Quel est l'effet de l'attaque ?][Le vol de la table `users` de la base de données]
= Crypto
Bla
= Sécu
Bli

42
exam.typ Normal file
View File

@ -0,0 +1,42 @@
#let qctr = counter("question")
#let french_month = ("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre")
#let exam(title: "Exam", course: none, date: none, class: none,
author: none, subtitle: none, indications: none, doc) = {
set text(font: "Montserrat")
let date = if date == none { datetime.today() } else { date };
align(center, text(size:26pt, course + " - " + date.display("[year]")))
align(center, text(size:26pt, title))
align(center, text(size:15pt, fill: luma(80), subtitle))
v(5%)
align(center, text(size:14pt, author))
v(3%)
align(center, text(size:14pt, date.display("[day] ") + french_month.at(date.month() - 1) + date.display(" [year]")))
v(7%)
align(left, text(size: 20pt, "Nom :"))
align(left, text(size: 20pt, "Prénom :"))
v(3%)
line(length: 100%, stroke: luma(80))
text(size: 14pt, indications)
pagebreak()
doc
};
#let question(points: 1, q, a) = {
let pts = text(weight: "bold",
[#points] + if points < 2 { "pt" } else { "pts" });
context { qctr.step(); qctr.display() }
q
}