fix: incompatibilities with new hugo version
This commit is contained in:
parent
44404f4034
commit
b5179b97ac
3 changed files with 24 additions and 24 deletions
16
config.toml
16
config.toml
|
@ -9,13 +9,9 @@ rssLimit = 10
|
||||||
paginate = 10
|
paginate = 10
|
||||||
enableRobotsTXT = false
|
enableRobotsTXT = false
|
||||||
|
|
||||||
[Author] # Used in authorbox
|
|
||||||
name = "ephase"
|
|
||||||
bio = "Adminstrateur système, j'ai d'abord intégré la Licence Pro ADSILLH et maintenant le Master IDI à l'Université de Bodreaux"
|
|
||||||
avatar = "assets/images/souris.svg"
|
|
||||||
|
|
||||||
[taxonomies]
|
[taxonomies]
|
||||||
category = "categories"
|
category = "categories"
|
||||||
tag = "tags"
|
tag = "tags"
|
||||||
|
|
||||||
[Params]
|
[Params]
|
||||||
|
@ -28,10 +24,11 @@ enableRobotsTXT = false
|
||||||
"secu_systeme",
|
"secu_systeme",
|
||||||
"conception_formelle",
|
"conception_formelle",
|
||||||
"secu_logicielle",
|
"secu_logicielle",
|
||||||
"bdd_avancees",
|
"bdd_avancees",
|
||||||
"systemes_exploitation",
|
"systemes_exploitation",
|
||||||
"admin_reseau",
|
"admin_reseau",
|
||||||
"secu_reseaux"
|
"secu_reseaux",
|
||||||
|
"conduite_projet"
|
||||||
]
|
]
|
||||||
post_meta = ["author", "date", "categories", "translations"]
|
post_meta = ["author", "date", "categories", "translations"]
|
||||||
mathjax = true
|
mathjax = true
|
||||||
|
@ -43,3 +40,8 @@ enableRobotsTXT = false
|
||||||
single = false # Configure layout for single pages
|
single = false # Configure layout for single pages
|
||||||
# Enable widgets in given order
|
# Enable widgets in given order
|
||||||
widgets = ["search", "categories", "taglist"]
|
widgets = ["search", "categories", "taglist"]
|
||||||
|
|
||||||
|
[Params.Author] # Used in authorbox
|
||||||
|
name = "ephase"
|
||||||
|
bio = "Adminstrateur système, j'ai d'abord intégré la Licence Pro ADSILLH et maintenant le Master IDI à l'Université de Bodreaux"
|
||||||
|
avatar = "assets/images/souris.svg"
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
title: "Installation : Postfix + LDAP"
|
title: "Installation : Postfix + LDAP"
|
||||||
categories: ["Installation", "TD machine"]
|
categories: ["Installation", "TD machine"]
|
||||||
tags: ["Postfix", "LDAP", "maildir"]
|
tags: ["Postfix", "LDAP", "maildir"]
|
||||||
date: 2018-10-4
|
date: 2018-10-04
|
||||||
lastmod: 2018-10-18
|
lastmod: 2018-10-18
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -12,13 +12,13 @@ coupler ensuite avec notre annuaire LDAP pour lagestion des comptes.
|
||||||
## Installation de Postfix
|
## Installation de Postfix
|
||||||
|
|
||||||
L'installation sur debian est simple, il suffit d'installer le paquet adéquat et
|
L'installation sur debian est simple, il suffit d'installer le paquet adéquat et
|
||||||
de répondre aux deux questions posée par dpkg :
|
de répondre aux deux questions posée par dpkg :
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
# apt install postfix
|
# apt install postfix
|
||||||
```
|
```
|
||||||
|
|
||||||
### Configuration
|
### Configuration
|
||||||
|
|
||||||
La configuration de postfix se fait dans le répertoire `/etc/postfix`. Le
|
La configuration de postfix se fait dans le répertoire `/etc/postfix`. Le
|
||||||
premier fichier à modifier est `main.cf`, on y configurera entre autre les
|
premier fichier à modifier est `main.cf`, on y configurera entre autre les
|
||||||
|
|
|
@ -3,8 +3,6 @@ title: "Sécurité logicielle : TD 9 Hackme"
|
||||||
date: 2023-04-14
|
date: 2023-04-14
|
||||||
tags: ["Assembleur", "x86"]
|
tags: ["Assembleur", "x86"]
|
||||||
categories: ["Sécurité logicielle", "TD"]
|
categories: ["Sécurité logicielle", "TD"]
|
||||||
author:
|
|
||||||
- Yorick Barbanneau
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Level 0
|
## Level 0
|
||||||
|
@ -15,7 +13,7 @@ Le programme demande à l'utilisateur une saisie, lorsque je rentre un texte, i
|
||||||
répond `Nope`:
|
répond `Nope`:
|
||||||
|
|
||||||
```
|
```
|
||||||
./hackme
|
./hackme
|
||||||
This is level 0, welcome! What do you have to say?
|
This is level 0, welcome! What do you have to say?
|
||||||
bonjour
|
bonjour
|
||||||
Nope!
|
Nope!
|
||||||
|
@ -66,14 +64,14 @@ GCC: (Debian 8.3.0-6) 8.3.0
|
||||||
```
|
```
|
||||||
|
|
||||||
`IAmSuperSecure` parait relativement intéressant. Mais à ce stade rien n'est
|
`IAmSuperSecure` parait relativement intéressant. Mais à ce stade rien n'est
|
||||||
sûr. Mais juste comme ça essayons tout de même un `lstrace` sur notre programme:
|
sûr. Mais juste comme ça essayons tout de même un `lstrace` sur notre programme:
|
||||||
|
|
||||||
```
|
```
|
||||||
ltrace ./hackme
|
ltrace ./hackme
|
||||||
__libc_start_main(0x80490a0, 1, 0xffb45f24, 0x8049590 <unfinished ...>
|
__libc_start_main(0x80490a0, 1, 0xffb45f24, 0x8049590 <unfinished ...>
|
||||||
wprintf(0x804a064, 0xf7f988cb, 0xf7c1ca2f, 0xf7f804a0This is level 0, welcome! What do you have to say?
|
wprintf(0x804a064, 0xf7f988cb, 0xf7c1ca2f, 0xf7f804a0This is level 0, welcome! What do you have to say?
|
||||||
) = 51
|
) = 51
|
||||||
getline(0xffb45e18, 0xffb45e1c, 0xf7e1d620, 0xf7c76ca5MyBadPassword
|
getline(0xffb45e18, 0xffb45e1c, 0xf7e1d620, 0xf7c76ca5MyBadPassword
|
||||||
) = 14
|
) = 14
|
||||||
strcmp("MyBadPassword", "IAmSuperSecure") = 1
|
strcmp("MyBadPassword", "IAmSuperSecure") = 1
|
||||||
wprintf(0x804a048, 0xf7fbca40, 0, 0x80492c2Nope!
|
wprintf(0x804a048, 0xf7fbca40, 0, 0x80492c2Nope!
|
||||||
|
@ -143,7 +141,7 @@ Essayons donc de comprendre comment. Recommençons l'exécution avec un `watch`
|
||||||
la chaine contenue sur le programme :
|
la chaine contenue sur le programme :
|
||||||
|
|
||||||
```
|
```
|
||||||
(gdb) wa * (char*)0x804d030
|
(gdb) wa * (char*)0x804d030
|
||||||
Hardware watchpoint 1: * (char*)0x804d030
|
Hardware watchpoint 1: * (char*)0x804d030
|
||||||
[...]
|
[...]
|
||||||
|
|
||||||
|
@ -171,10 +169,10 @@ Dump of assembler code for function z:
|
||||||
0x0804932f <+15>: nop
|
0x0804932f <+15>: nop
|
||||||
|
|
||||||
0x08049330 <+16>: sub $0x9,%eax ; retire 0x9 à %eax
|
0x08049330 <+16>: sub $0x9,%eax ; retire 0x9 à %eax
|
||||||
|
|
||||||
0x08049333 <+19>: add $0x1,%edx ; incrémente %edx
|
0x08049333 <+19>: add $0x1,%edx ; incrémente %edx
|
||||||
|
|
||||||
0x08049336 <+22>: mov %al,-0x1(%edx) ; remets le caractère déchiffré
|
0x08049336 <+22>: mov %al,-0x1(%edx) ; remets le caractère déchiffré
|
||||||
; dans sa chaine
|
; dans sa chaine
|
||||||
|
|
||||||
=> 0x08049339 <+25>: movzbl (%edx),%eax ; copie le caractère courant
|
=> 0x08049339 <+25>: movzbl (%edx),%eax ; copie le caractère courant
|
||||||
|
@ -257,7 +255,7 @@ chaque caractère.
|
||||||
|
|
||||||
\pagebreak
|
\pagebreak
|
||||||
|
|
||||||
Pour déchiffrer le mot de passe écrit dans le programme, j'ai écris un script
|
Pour déchiffrer le mot de passe écrit dans le programme, j'ai écris un script
|
||||||
Python :
|
Python :
|
||||||
|
|
||||||
```python
|
```python
|
||||||
|
@ -315,7 +313,7 @@ End of assembler dump.
|
||||||
```
|
```
|
||||||
|
|
||||||
Voici deux comparaisons intéressantes. La première s'effectue sur les 4 octets à
|
Voici deux comparaisons intéressantes. La première s'effectue sur les 4 octets à
|
||||||
l'adresse contenue dans `%eax`. La suivante sur le contenu à l'adresse de
|
l'adresse contenue dans `%eax`. La suivante sur le contenu à l'adresse de
|
||||||
`%eax + 0x4`.
|
`%eax + 0x4`.
|
||||||
|
|
||||||
\pagebreak
|
\pagebreak
|
||||||
|
@ -363,7 +361,7 @@ technique du `ctrl+c` puis `bt`:
|
||||||
#7 0x080490d7 in main ()
|
#7 0x080490d7 in main ()
|
||||||
```
|
```
|
||||||
|
|
||||||
C'est la fonction `aa()` qui appelle `r()` (fonction de saisie), intéressons
|
C'est la fonction `aa()` qui appelle `r()` (fonction de saisie), intéressons
|
||||||
nous à elle en la désassemblant :
|
nous à elle en la désassemblant :
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -402,7 +400,7 @@ End of assembler dump.
|
||||||
```
|
```
|
||||||
|
|
||||||
Cette fonction appelle une autre : `bb()`. C'est elle qui semble se charger de
|
Cette fonction appelle une autre : `bb()`. C'est elle qui semble se charger de
|
||||||
la vérification de la saisie. Avant de l'étudier, voyons comment `aa()` met les
|
la vérification de la saisie. Avant de l'étudier, voyons comment `aa()` met les
|
||||||
éléments en place avant de l'appeler :
|
éléments en place avant de l'appeler :
|
||||||
|
|
||||||
* mets l'adresse vers la zone mémoire contenant la saisie utilisateur dans
|
* mets l'adresse vers la zone mémoire contenant la saisie utilisateur dans
|
||||||
|
@ -604,7 +602,7 @@ la table ascii, utilisons les mathématiques:
|
||||||
\nonumber\text{donc } 0 \oplus A \oplus A \oplus A \oplus A \oplus B = B
|
\nonumber\text{donc } 0 \oplus A \oplus A \oplus A \oplus A \oplus B = B
|
||||||
\end{gather}
|
\end{gather}
|
||||||
|
|
||||||
Ansi saisir un même caractère un nombre pair de fois suivi de `C`, alors c'est
|
Ansi saisir un même caractère un nombre pair de fois suivi de `C`, alors c'est
|
||||||
gagné :
|
gagné :
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue