Fuzzing SQLite With AFL

Check-in [7a48fd2c67]
Login

Check-in [7a48fd2c67]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Add -i- cases (for each copy+paste) to the README.md file.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 7a48fd2c67bc34fafd27def088c52df1152e0b85
User & Date: drh 2015-06-11 14:31:41
Context
2015-06-17
18:34
Minor tweaks to the README.md file. check-in: 9ab9020961 user: drh tags: trunk
2015-06-11
14:31
Add -i- cases (for each copy+paste) to the README.md file. check-in: 7a48fd2c67 user: drh tags: trunk
2015-06-02
14:01
Update the documentation to describe how to build the fuzzcheck database files from culled test cases. check-in: 80ed865071 user: drh tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to README.md.
56
57
58
59
60
61
62
63



64
65
66
67
68
69
70
71




72
73
74
75
76
77
78

       -  The original test vector set designed by Michal Zalewski is in the
          "minimized\_culled" directory.  This can be substituted in place
          of "cull2" if desired.

  12.  If the fuzzer stops for any reason (for example to update
       "fuzzershell.c" to a new version) then it can be restated by changing
       the "-i cull2" argument to just "-i-".




## Database File Fuzzing

The procedure above fuzzes SQL input.  To fuzz the database file format,
change step (11) to be the following:

  *   Run the fuzzer:
       ../afl-fuzz -i dbfuzz -o out -f testdb -- ./fuzzershell --database testdb db-fuzz-ck.txt





The seed database file in the dbfuzz directory are created using
the db-fuzz-init.txt SQL script.

## Other links

  *   [How to cull the test case generated by AFL](./culling.md)







|
>
>
>








>
>
>
>







56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85

       -  The original test vector set designed by Michal Zalewski is in the
          "minimized\_culled" directory.  This can be substituted in place
          of "cull2" if desired.

  12.  If the fuzzer stops for any reason (for example to update
       "fuzzershell.c" to a new version) then it can be restated by changing
       the "-i cull2" argument to just "-i-".  Example:

       -  ../afl-fuzz -i- -o out -x ../testcases/\_extras/sql -- ./fuzzershell


## Database File Fuzzing

The procedure above fuzzes SQL input.  To fuzz the database file format,
change step (11) to be the following:

  *   Run the fuzzer:
       ../afl-fuzz -i dbfuzz -o out -f testdb -- ./fuzzershell --database testdb db-fuzz-ck.txt

  *   Use the -i- trick to restart the fuzzer:
       ../afl-fuzz -i- -o out -f testdb -- ./fuzzershell --database testdb db-fuzz-ck.txt


The seed database file in the dbfuzz directory are created using
the db-fuzz-init.txt SQL script.

## Other links

  *   [How to cull the test case generated by AFL](./culling.md)