Mise en pratique

1. Fuzzing 1 : HTTP

Énoncé

Prérequis : Sulley, protocole HTTP.

But : créer un fuzzing de site web.

Énoncé :

Nous voudrions créer un fuzzer avec plusieurs blocks.

Un block, par exemple, permettra de fuzzer toutes les chaînes de caractères de l’argument /index.html HTTP/1.1 pour toutes les commandes : GET, HEADPOSTOPTIONS, TRACE, PUT, DELETE et PROPFIND.

Vous implémenterez plusieurs blocks selon votre imagination, seule celle-ci et les limites du protocole peuvent vous bloquer.

Exemple de corrigé


from sulley import * 
################################################################ 
s_initialize("HTTP VERBS") 
s_group("verbs", values=["GET", "HEAD", "POST", "OPTIONS",  
"TRACE", "PUT", "DELETE", "PROPFIND"]) 
if s_block_start("body", group="verbs"): 
      s_delim(" ") 
      s_delim("/") 
      s_string("index.html") 
      s_delim(" ") 
      s_string("HTTP") 
      s_delim("/") 
      s_string("1") 
      s_delim(".") 
      s_string("1") 
      ...
couv_EP2HAFO.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Sulley
Suivant
Introduction