Comments (2)
This affects me.
I'm distributing a boofuzz load in parallel across multiple computers (in a kinda dumb way, somewhat necessary due to my constraints). I have a "server" that calls session.num_mutations() and then waits for clients to call in; when they do, the server uses the number of clients ("boofuzz host machines") and the return from num_mutations() to tell each client what chunk of the tests it should run. Then the server is then no longer involved. The clients then each spin up multiple isolated boofuzz+target instances in parallel, each of them re-generating the same session graph (hopefully) with the same random.seed, each running a single test against an isolated target copy. Once each boofuzz+target instance finishes, the client kills that instance and then starts another boofuzz+target instance on the next mutation from the pool that the client was assigned from the server.
Each boofuzz instance fuzzes a single case via session.fuzz_single_case().
from boofuzz.
@sawilson2009 Thank you for explaining your use case. The two options I listed in the first comment wouldn't help in that case, since the Python script is completely killed and restarted.
The challenge here is that the interface for creating new fuzz primitives expects an interator-like behavior rather than list-like behavior. (This is done to allow for optimal performance when running through many many test cases)
A couple other options I can think of:
- Add a fuzz-single-case method to
Request
, use thelen
method to check the number of primitive mutations for each primitive, and skip primitives until coming to the target primitive. From there, iterate mutations until coming to the exact number. - Add a fuzz-single-case method to
IFuzzable
, implementing the behavior described above and also implementing behavior for individual primitives.
from boofuzz.
Related Issues (20)
- arguments discrepance between s_string() and String() HOT 6
- TypeError: boofuzz.fuzzable.Fuzzable.__init__() got multiple values for keyword argument 'fuzzable' HOT 1
- Procmon "freezes" multithreaded software
- Logs to a txt or csv file missed some line for the last Test case HOT 3
- Problem with web interface (port: 26000) HOT 8
- Mirror primitive always returns the default value of the target primitive HOT 2
- How to use s_from_file()?It will cause some errors HOT 2
- How can I run boofuzz with 0.0.0.0 host IP HOT 2
- `Session.fuzz()` options to minimize redundant testcases HOT 3
- No boo utility HOT 2
- boofuzz/sessions.py is too long and complicated, let's fix that. HOT 8
- Session.fuzz_by_name is deprecated in favor of Session.fuzz(name=name). HOT 1
- "Aligned" definition function's implementation is incorrect,modify the encode method HOT 3
- Replace deprecated PyDbg library with a Python 3-based debugger
- http with multi-connect :session.connect(s.get"xxx") HOT 11
- Block "dep_value" Request is type bytes HOT 1
- usage for s_bits() HOT 4
- Test failure HOT 3
- ChildProcessError: [Errno 10] No child processes and module 'os' has no attribute 'WCOREDUMP' HOT 4
- The callback can not capture response when fuzzing http , because the boofuzz send tcp-fin before response . HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from boofuzz.