Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question about the test input of driller #56

Open
JsHuang opened this issue Jan 15, 2018 · 4 comments
Open

Question about the test input of driller #56

JsHuang opened this issue Jan 15, 2018 · 4 comments

Comments

@JsHuang
Copy link

JsHuang commented Jan 15, 2018

When testing program with AFL , the program must read a file as an input , thus AFL can do the mutation job with the input file. While driller‘s test input was from stdin,see ("#48").
But in the Driller paper, the CGC test program NRFIN_00017, reads an xml file as input ,so how can driller test this program reads a file as an input?

@rhelmot
Copy link
Member

rhelmot commented Jan 15, 2018 via email

@JsHuang
Copy link
Author

JsHuang commented Jan 16, 2018

So you changed AFL to let it test CGC programs that read from stdin?
I tried to use the same command shellphuzz("https://github.com/shellphish/fuzzer/blob/master/shellphuzz") used to start afl with cgc program CADET_00001 , the command I used is

/usr/bin/afl-cgc/afl-fuzz -i - -o ./afl-work/CADET_00001/sync -m 8G -Q -M fuzzer-master -x ./afl-work/CADET_00001/CADET_00001.dict -- ./CADET_00001

but it always failed with error:

    handshake with the injected code. There are two probable explanations:

    - The current memory limit (8.00 GB) is too restrictive, causing an OOM
      fault in the dynamic linker. This can be fixed with the -m option. A
      simple way to confirm the diagnosis may be:

      ( ulimit -Sv $[8191 << 10]; /path/to/fuzzed_app )

      Tip: you can use http://jwilk.net/software/recidivm to quickly
      estimate the required amount of virtual memory for the binary.

    - Less likely, there is a horrible bug in the fuzzer. If other options
      fail, poke <[email protected]> for troubleshooting tips.

[-] PROGRAM ABORT : Fork server handshake failed
         Location : init_forkserver(), afl-fuzz.c:208

if I chanaged the -m option as "-m none", it also failed:

[*] Spinning up the fork server...

[-] Hmm, looks like the target binary terminated before we could complete a
    handshake with the injected code. Perhaps there is a horrible bug in the
    fuzzer. Poke <[email protected]> for troubleshooting tips.

[-] PROGRAM ABORT : Fork server handshake failed
         Location : init_forkserver(), afl-fuzz.c:2088

I don't konw why.
I have looked your version of driller-afl, it seems you build your own version of afl-qemu-trace, did this error has anything to to with afl-qemu-trace?

@zardus
Copy link
Member

zardus commented Jan 16, 2018

Are you doing this in the shellphish/mechaphish docker container? If not, it could be any number of things... Please try it in the container.

@JsHuang
Copy link
Author

JsHuang commented Jan 16, 2018

thanks ,in the container it runs well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants