Skip to content

WHY AttributeError: 'NoneType' object has no attribute 'split'??? #100

@ampresent

Description

@ampresent

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()

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions