-
Notifications
You must be signed in to change notification settings - Fork 340
Description
I got this exception when I was trying my first sulley project, fuzzing apache. Any idea? I'm under ubuntu 15.04, btw
[2015-10-16 09:40:03,534] [INFO] -> current fuzz path: -> HTTP VERBS
[2015-10-16 09:40:03,534] [INFO] -> fuzzed 0 of 58596 total cases
[2015-10-16 09:40:03,534] [INFO] -> fuzzing 1 of 36248
SKIP!
[2015-10-16 09:40:03,566] [INFO] -> xmitting: [1.1]
[2015-10-16 09:40:03,566] [INFO] -> sleeping for 1.000000 seconds
[2015-10-16 09:40:04,569] [INFO] -> netmon captured 0 bytes for test case #1
[2015-10-16 09:40:04,570] [INFO] -> procmon detected access violation on test case #1
[2015-10-16 09:40:04,570] [INFO] -> primitive name: verbs, type: group, default value: GET
Traceback (most recent call last):
File "try.py", line 20, in <module>
sess.fuzz()
File "/home/wuyihao/hack/fuzzing/sulley/sulley/sessions.py", line 536, in fuzz
self.poll_pedrpc(target)
File "/home/wuyihao/hack/fuzzing/sulley/sulley/sessions.py", line 691, in poll_pedrpc
self.logger.info(self.procmon_results[self.total_mutant_index].split("\n")[0])
AttributeError: 'NoneType' object has no attribute 'split'
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 60744)
Traceback (most recent call last):
File "/usr/lib/python2.7/SocketServer.py", line 295, in _handle_request_noblock
self.process_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 321, in process_request
self.finish_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/home/wuyihao/hack/fuzzing/sulley/sulley/sessions.py", line 905, in __init__
BaseHTTPServer.BaseHTTPRequestHandler.__init__(self, request, client_address, server)
File "/usr/lib/python2.7/SocketServer.py", line 655, in __init__
self.handle()
File "/usr/lib/python2.7/BaseHTTPServer.py", line 340, in handle
self.handle_one_request()
File "/usr/lib/python2.7/BaseHTTPServer.py", line 328, in handle_one_request
method()
File "/home/wuyihao/hack/fuzzing/sulley/sulley/sessions.py", line 921, in do_GET
self.do_everything()
File "/home/wuyihao/hack/fuzzing/sulley/sulley/sessions.py", line 948, in do_everything
response = self.view_index()
File "/home/wuyihao/hack/fuzzing/sulley/sulley/sessions.py", line 1082, in view_index
response += '<tr><td class="fixed"><a href="/view_crash/%d">%06d</a></td><td>%s</td><td align=right>%s</td></tr>' % (key, key, val.split("\n")[0], bytes)
AttributeError: 'NoneType' object has no attribute 'split'
The output of process_monitor is as follows:
[09:40.03] updating target process name to 'apache2'
[09:40.03] starting target process
PED-RPC> remote method pre_send cannot be found
PED-RPC> remote method post_send cannot be found
PED-RPC> remote method get_crash_synopsis cannot be found
The fuzzing program:
from sulley import *
from requests import http
def try_recv(sock):
print 'SKIP!'
sess = sessions.session(session_filename="audits/apache2.session")
target = sessions.target('127.0.0.1', 80)
target.netmon = pedrpc.client('127.0.0.1', 26001)
target.procmon = pedrpc.client('127.0.0.1', 26002)
target.procmon_options = {'proc_name': 'apache2'}
sess.pre_send = try_recv
sess.add_target(target)
sess.connect(s_get("HTTP VERBS"))
sess.connect(s_get("HTTP VERBS BASIC"))
sess.connect(s_get("HTTP VERBS POST"))
sess.connect(s_get("HTTP HEADERS"))
sess.connect(s_get("HTTP COOKIE"))
sess.fuzz()