Skip to content

Commit

Permalink
+minor bugfixes in the documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
farnaboldi committed Apr 9, 2018
1 parent fe68b1e commit 552d339
Show file tree
Hide file tree
Showing 7 changed files with 10 additions and 12 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
* Different versions
* Different implementations
* Different operating systems' implementations

The fuzzer uses Python and runs on multiple OSs (Linux, Windows, OS X, and
Freebsd). Its main goal is to detect issues based on diffential fuzzing aided
with the extended capabilities to increase coverage. Still, it will found
Expand Down
2 changes: 1 addition & 1 deletion docs/1.-Install.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,4 @@ echo @echo off > C:\Windows\System32\canaryfile.bat & echo.echo canarytokencomma
---
# What's next?

You want to define [the input](https://github.com/IOActive/XDiFF/wiki/The-input)
You want to define [the input](https://github.com/IOActive/XDiFF/wiki/2.-The-input)
2 changes: 1 addition & 1 deletion docs/2.-The-input.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,4 +80,4 @@ Moreover, if the software may open network connections, you also want to define

# What's next?

You want to define [the software](https://github.com/IOActive/XDiFF/wiki/The-software)
You want to define [the software](https://github.com/IOActive/XDiFF/wiki/3.-The-software)
10 changes: 3 additions & 7 deletions docs/3.-The-software.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,14 @@ This defines pieces of data in three columns:
<pre>
<b>Type</b> = ["File"]
<b>OS</b> = ["darwin", "linux2", "freebsd11"]
<b>Suffix</b> = [".sh"]
</pre>

<b>Suffix</b> = [".sh"]</pre>
2.4. **Filename**: if the software to be fuzzed reads information from a certain static filename, you can define it in here. Don't forget to run the fuzzer with only 1 thread when using this.

3. The third column defines the pieces of software to be fuzzed. If you want to fuzz mp3 files using mpg321 and mpg123, you can do it like this:

<pre>
Bash = ["bash", "-c", "<b>-fuzzdata=echo $(([[test]]))</b>"]
Ksh = ["ksh", "-c", "<b>-fuzzdata=echo $(([[test]]))</b>"]
</pre>

Ksh = ["ksh", "-c", "<b>-fuzzdata=echo $(([[test]]))</b>"]</pre>
First we set the name of the software to be fuzzed (***bash***, ***dash***, or ***ksh***). Then, we defined in an array the command and options to be executed. There is a special option named *-fuzzdata=* that indicates the fuzzer that the next piece of information is where we will be placed our fuzzed test case. The *[[test]]* will be replaced by a temporary file name containing a weird mp3 to fuzz the software on this example.

### Putting all the pieces together
Expand All @@ -41,4 +37,4 @@ This is how you could define the software category ***shells*** to be fuzzed usi
---
# What's next?

You want to [run the fuzzer](https://github.com/IOActive/XDiFF/wiki/Run-the-fuzzer)
You want to [run the fuzzer](https://github.com/IOActive/XDiFF/wiki/4.-The-fuzzer)
3 changes: 2 additions & 1 deletion docs/4.-The-fuzzer.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ Now the output should indicate now and then when new inputs are being generated

There are three additional important optional settings to be mentioned:

- [*-D*]: Print debugging information
- [*-t 100*]: The amount of threads to be executed in parallel.
- [*-T 10*]: The timeout per thread
- [*-v*]: Use valgrind to execute the software to be fuzzed.
Expand All @@ -30,4 +31,4 @@ The combination of threads and the timeout is something to be defined per catego
---
# What's next?

You want to analyze [the output](https://github.com/IOActive/XDiFF/wiki/The-output)
You want to analyze [the output](https://github.com/IOActive/XDiFF/wiki/5.-The-output)
2 changes: 1 addition & 1 deletion docs/Changelog.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Changelog
Changes are listed in time order: newer changes are at the top, older changes are at the bottom.

## Version: [1.2](https://github.com/IOActive/XDiFF/releases/tag/1.2)
## Version: [1.2.0](https://github.com/IOActive/XDiFF/releases/tag/1.2)
- Changed main function names in the root directory
- Improved code, documentation, and (most of) the code is now tested. Tons of bugfixes.
- Added new analysis for error disclosure (analyze_error_disclosure) and path disclosure (analyze_path_disclosure_stderr)
Expand Down
2 changes: 1 addition & 1 deletion xdiff_run.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ def help(err=""):
print("XDiFF Syntax: ")
print(os.path.basename(__file__) + " -d db.sqlite Choose the database")
print("\t -c Python Software category to be fuzzed")
print("\t [-D] Debug information")
print("\t [-D] Print debugging information")
print("\t [-r 0] Random inputs: radamsa & zzuf without newlines (faster)")
print("\t [-r 1] Random inputs: radamsa & zzuf with newlines (slower)")
print("\t [-r 2] Random inputs: radamsa without newlines (faster)")
Expand Down

0 comments on commit 552d339

Please # to comment.