Skip to content

Update to make boofuzz more compatible#594

Open
hegusung wants to merge 12 commits intojtpereyda:masterfrom
hegusung:master
Open

Update to make boofuzz more compatible#594
hegusung wants to merge 12 commits intojtpereyda:masterfrom
hegusung:master

Conversation

@hegusung
Copy link
Copy Markdown

I had these 3 issues when using boofuzz:

  • I could not change processmonitor.py listening interface
  • processmonitor.py was not compatible with Windows, multiple function used in boofuzz were not available for Windows.
  • Some processes to fuzz needs a lot of time before starting up, so the hardcoded 3 seconds delay were not sufficient. A parameter "restart_wait" in Session class has been added to solve this issue

@jtpereyda
Copy link
Copy Markdown
Owner

@hegusung Sounds great! I'll put this on my queue to review. Which operating systems have you tested on so far with these changes?

@hegusung
Copy link
Copy Markdown
Author

Hi, So boofuzz script was tested on both a Kali linux and a Debian. Process_monitor.py was tested on a Windows 10.

there shouldn't be an issue with process_monitor.py on linux because the linux way is always done, il only switches to windows way when an exeption is detected.

@hegusung
Copy link
Copy Markdown
Author

I don't understand what is wrong with stickler-ci

@SR4ven
Copy link
Copy Markdown
Collaborator

SR4ven commented Jan 28, 2022

I don't understand what is wrong with stickler-ci

Seems like it runs into a timeout. Nothing u need to worry about.
If you want to check for code style issues, you can run tox or tox -e lint (not exactly sure about the second one). Also note that it outputs all findings, not just the ones in your changes.

Copy link
Copy Markdown
Collaborator

@SR4ven SR4ven left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR @hegusung!

I left some comments below.

Copy link
Copy Markdown
Owner

@jtpereyda jtpereyda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hegusung Thanks for this work! This was a significant gap in boofuzz.

After this PR, it wouldn't be much work to integrate the two procmon scripts, since the Simple debugger will work with both Windows and Unix.

Thanks @SR4ven for the review!

@hegusung
Copy link
Copy Markdown
Author

hegusung commented May 3, 2022

Hi, I see that this PR is not accepted.
Which changes should I do in order for you guys to accept it ?

@hegusung
Copy link
Copy Markdown
Author

hegusung commented May 3, 2022

I took care of your remarks,

I also patched the following bug:

  • when the second or more mutant fails 3 times, the skipped value will be 0. therefore the test case number is incorrect.
  • This is due to self.mutant_index is necessary bigger than self.fuzz_node.mutant.get_num_mutations() at the second and more fuzzed mutant

@hegusung hegusung requested review from SR4ven and jtpereyda May 3, 2022 20:08
Copy link
Copy Markdown
Collaborator

@SR4ven SR4ven left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apologies for the delayed review.

Thanks for implementing our comments!
I've added one more tiny suggestion.

Could you add some lines about those fixes to the CHANGELOG.rst please?

Fuzzable.name_counter += 1
self._name = "{0}{1}".format(type(self).__name__, Fuzzable.name_counter)

self.index_mutation = 0
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you think about mutation_index?

Suggested change
self.index_mutation = 0
self.mutation_index = 0

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

Successfully merging this pull request may close these issues.

4 participants