American Fuzzy Lop 以非特权用户或在 chroot 中运行测试程序

American Fuzzy Lop 以非特权用户或在 chroot 中运行测试程序

我尝试tcsh使用 American Fuzzy Lop 在 OS X 上进行测试作为练习,但不想意外破坏系统上的任何有用文件。

由于对模糊测试一无所知,我做了以下事情:

我通过brew安装了模糊器。

$ brew install afl-fuzz

作为辅助节点,tcsh配置脚本似乎忽略了该--disable-shared标志。

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

然后给了它一个愚蠢的示例测试脚本:samples/sample.csh

echo '45'

然后我以最天真的方式运行了一段时间的 afl-fuzz。

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

我很快发现随机生成的 shell 脚本创建了一些垃圾文件。

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

限制随机生成的 shell 脚本可以执行的操作并阻止它们删除或修改我关心的文件的正确方法是什么?

我继续尝试

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

但我不确定这对于限制随机生成的 shell 脚本的功能是否足够好。

相关内容