American Fuzzy Lop führt das Testprogramm als unprivilegierter Benutzer oder in chroot aus

American Fuzzy Lop führt das Testprogramm als unprivilegierter Benutzer oder in chroot aus

Ich versuche, es tcshals Übung mit American Fuzzy Lop auf OS X zu testen, möchte aber nicht versehentlich nützliche Dateien auf meinem System löschen.

Da ich im Grunde nichts über Fuzz-Tests wusste, habe ich Folgendes getan:

Ich habe den Fuzzer über Brew installiert.

$ brew install afl-fuzz

Als Nebenknoten tcshscheint das Konfigurationsskript das --disable-sharedFlag zu ignorieren.

$ ./configure CC=afl-clang --disable-shared --prefix="$HOME"/opt/fuzzy-local ; make

Dann habe ich ein dummes Beispiel-Testskript dafür erstellt:samples/sample.csh

echo '45'

Dann habe ich eine Zeit lang auf die naivste Art und Weise, die möglich war, AFL-Fuzz ausgeführt.

$ afl-fuzz -i samples -o afl_findings ./bin/tcsh -f @@

Ich stellte bald fest, dass die zufällig generierten Shell-Skripte einige Datenmülldateien erstellt hatten.

$ ls
?d%FF%FFd%A7    ?               5?              bin             share
?45?            45              afl_findings    samples

Was wäre die richtige Art, die Möglichkeiten der zufällig generierten Shell-Skripte einzuschränken und zu verhindern, dass sie möglicherweise für mich wichtige Dateien löschen oder ändern?

Ich versuchte es weiter

$ chown nobody:nogroup afl-findings
$ sudo -u nobody afl-fuzz -i samples -o all_findings ./bin/tcsh -f @@

aber ich bin nicht sicher, ob das ausreicht, um die Möglichkeiten zufällig generierter Shell-Skripte einzuschränken.

verwandte Informationen