Tehtävä 3 (1 piste):
Tee Googlen Gruyere’stä “Web Application Exploits and Defenses (Part 3)”. Huomaathan, että osassa yksi (Part 1) on ohjeita, jollet niitä vielä käynyt viime viikolla läpi. Tehtävän 1 voi tehdä ilman paikallista asennusta, mutta jos teet tehtävän 2, paikallinen asennus on tarpeen.
https://google-gruyere.appspot.com/
Varaudu esittämään vastauksesi. Jos teet tämän etänä, palauta kuvaus siitä, mitä teit ja mitä sait tulokseksi
Tehtävä 2 (3 pistettä): Korjaa tehtävän 1 haavoittuvuudet Gruyere’n lähdekoodista .
Tehtävä 3 (2 pistettä): Asenna AFL-fuzzer -työkalu http://lcamtuf.coredump.cx/afl/
http://lcamtuf.coredump.cx/afl/QuickStartGuide.txt
Käännä oheinen esimerkkikoodi afl-gcc:llä, esim.
afl-gcc tidy.c
Käynnistä fuzzer, esim:
AFL_SKIP_CPUFREQ=1 afl-fuzz -i input/ -o output/ ./a.out
(Tee input ja output -kansiot ja laita input-kansioon jokin mielellään kohtuullisen pieni tiedosto)
Fuzzer löytää toisen syötteen, joka johtaa ohjelman keskeytymiseen, mutta ei toista. Mihin tämä perustuu?
Miten ”coverage”-pohjainen fuzzaus toimii?