我正在尝试使用 Sulley Fuzzing Framework 对 BACNet 设备进行模糊测试。
为了了解框架,我编写了这个相当简单的示例,但它不起作用。
from sulley import *
s_initialize("Test")
s_static(0x10, "Something")
s_byte(0x00, "SomeByte")
sess = sessions.session(proto="UDP")
sess.connect(sulley.s_get("Test"))
target = sessions.target("192.168.1.3", 0xBAC0)
target.netmon = None
target.procmon = None
target.vmcontrol = None
sess.add_target(target)
sess.fuzz()
但是执行它会导致以下输出
pydev debugger: starting (pid: 3356)
[2015-11-09 09:40:54,351] [INFO] -> current fuzz path: -> Test
[2015-11-09 09:40:54,352] [INFO] -> fuzzed 0 of 112 total cases
[2015-11-09 09:40:54,354] [INFO] -> fuzzing 1 of 112
[2015-11-09 09:40:54,354] [INFO] -> xmitting: [1.1]
[2015-11-09 09:40:54,355] [CRITICAL] -> failed transmitting fuzz node
Exception caught: TypeError("cannot concatenate 'str' and 'int' objects",)
Restarting target and trying again
[2015-11-09 09:40:54,355] [ERROR] -> no vmcontrol or procmon channel available ... sleeping for 300 seconds
我认为问题可能是,我设置netmon, procmon, vmcontrol
为None
,但只是省略它们会导致相同的输出。我没有创建这些监视器,因为无论如何我都不能将它们用于我以后想要模糊测试的设备。我只想发送数据包,看看会发生什么。那么,没有这些监视器就不可能使用 Sulley,还是我的代码有其他问题?