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 腳本的功能是否足夠好。

相關內容