Skip to content

Commit 4b3a0ab

Browse files
authored
Merge pull request #231 from hduarte/master
Customisable size for target recv function
2 parents 707d6cd + 614f0f3 commit 4b3a0ab

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

boofuzz/sessions.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@
2727
from . import exception
2828
from .web.app import app
2929

30-
DEFAULT_MAX_RECV = 8192
31-
3230

3331
class Target(object):
3432
"""Target descriptor container.
@@ -47,12 +45,13 @@ class Target(object):
4745
connection (itarget_connection.ITargetConnection): Connection to system under test.
4846
"""
4947

50-
def __init__(self, connection, procmon=None, procmon_options=None, netmon=None):
48+
def __init__(self, connection, procmon=None, procmon_options=None, netmon=None, max_recv_bytes=10000):
5149
self._fuzz_data_logger = None
5250

5351
self._target_connection = connection
5452
self.procmon = procmon
5553
self.netmon = netmon
54+
self.max_recv_bytes = max_recv_bytes
5655

5756
# set these manually once target is instantiated.
5857
self.vmcontrol = None
@@ -110,7 +109,7 @@ def pedrpc_connect(self):
110109
for key in self.netmon_options.keys():
111110
eval('self.netmon.set_%s(self.netmon_options["%s"])' % (key, key))
112111

113-
def recv(self, max_bytes=DEFAULT_MAX_RECV):
112+
def recv(self, max_bytes=None):
114113
"""
115114
Receive up to max_bytes data from the target.
116115
@@ -120,6 +119,9 @@ def recv(self, max_bytes=DEFAULT_MAX_RECV):
120119
Returns:
121120
Received data.
122121
"""
122+
if max_bytes == None:
123+
max_bytes = self.max_recv_bytes
124+
123125
if self._fuzz_data_logger is not None:
124126
self._fuzz_data_logger.log_info("Receiving...")
125127

@@ -983,7 +985,7 @@ def transmit_normal(self, sock, node, edge, callback_data):
983985
self._fuzz_data_logger.log_fail(msg)
984986
try: # recv
985987
if self._receive_data_after_each_request:
986-
self.last_recv = self.targets[0].recv(10000) # TODO: Remove magic number (10000)
988+
self.last_recv = self.targets[0].recv()
987989

988990
if self._check_data_received_each_request:
989991
self._fuzz_data_logger.log_check("Verify some data was received from the target.")
@@ -1037,7 +1039,7 @@ def transmit_fuzz(self, sock, node, edge, callback_data):
10371039

10381040
try: # recv
10391041
if self._receive_data_after_fuzz:
1040-
self.last_recv = self.targets[0].recv(10000) # TODO: Remove magic number (10000)
1042+
self.last_recv = self.targets[0].recv()
10411043
except exception.BoofuzzTargetConnectionReset:
10421044
if self._check_data_received_each_request:
10431045
self._fuzz_data_logger.log_fail(constants.ERR_CONN_RESET)

0 commit comments

Comments
 (0)