Deep Web & Dark Web

Deep Web & Dark Web

Ceci est un tout petit article qui permet de remettre très rapidement et très sommairement les choses en place. On me demande très souvent si je suis déjà allé sur le deep web, le dark web, des darknets sans vraiment comprendre ce que c’était, quelles étaient les différences etc. Cet article n’a pas pour vocation de faire une étude, un état des lieux, mais plutôt de faire toucher du doigt au néophyte ce que signifient ces termes. Je propose donc quelques lignes pour pouvoir commencer à expliquer en 5 minutes ce qu’impliquent ces termes.


Lire la suite →

0x90r00t - Team CTF

0x90r00t - Team CTF

Salut à tous,

Petite information pour ceux qui font des CTF (Capture The Flag), nous avons monté une équipe avec des potes, elle s’appelle 0x90r00t. Je vous laissez chercher la signification de ce nom !


Lire la suite →

wget - segfault: Résumé

wget - segfault: Résumé

Salut à tous, winw m’a montré récemment un truc assez sympa. Dans un terminal, tapez la commande

$ wget -r %3a
Segmentation fault

Vous obtiendrez un segfault.


Lire la suite →

Retour à la libc

Retour à la libc

Bonjour, nous avons vu dans la série d’articles précédents comment fonctionnait la mémoire d’un processus au sein d’un système Unix. Grâce à cette compréhension, nous avons exposé une vulnérabilité très connue qu’est le dépassement de tampon en utilisant la pile (buffer overflow stack based).


Lire la suite →

Introduction à gdb

Introduction à gdb

Que le programmeur qui n’a jamais mis des printf, var_dump, echo, print, System.out, console.log, cout plein son code pour savoir d’où venait un bug se dénonce. Que le programmeur qui ne s’est jamais arraché les cheveux pour un programme qui plantait violemment sans crier garde me jette la pierre (C’est une expression, hein !). Heureusement, il existe pléthore de débogueurs (debuggers), libres ou non, dont un qui est particulièrement reconnu, le débogueur de GNU nommé GDB (GNU Project Debugger), que nous allons introduire dans cette introduction.


Lire la suite →

Assembleur - Notions de base

Assembleur - Notions de base

Salut tout le monde, voici un nouvel article qui va permettre, je pense, d’éclaircir bon nombre de notions que j’ai déjà abordées dans mes articles précédents, et qui permettront également de faciliter la compréhension des articles à venir.

Cet article à un but modeste : Comprendre la sortie d’un disass main sur un programme relativement simple (Mais si ! vous savez, cette commande dans gdb qui permet de désassembler un - i.e. produire le code assembleur d’un - binaire)


Lire la suite →

Buffer Overflow

Buffer Overflow

Nous allons ici expliquer ce qui se cache derrière la notion de buffer overflow, avant de donner deux exemples différents d’exploitation dans ce tuto “buffer overflow”:

  1. Cas d’un buffer qui alloue suffisamment d’espace pour contenir un shellcode avant l’adresse de retour sur la pile
  2. Cas d’un buffer trop petit pour contenir un shellcode avant l’adresse de retour sur la pile

Lire la suite →

[C] Pointeurs de fonction

[C] Pointeurs de fonction

Voici un petit mémo sur les pointeurs de fonction. Pour rappel, un pointeur est une variable qui contient une adresse mémoire d’une donnée. La donnée peut être un int, un float, un tableau, etc. Mais ça peut aussi être l’adresse d’une fonction. Mais qu’est ce que ça veut dire que l’adresse d’une fonction ?


Lire la suite →