美文网首页
减少蜜罐bug之UnicodeDecodeError

减少蜜罐bug之UnicodeDecodeError

作者: scarleast | 来源:发表于2019-04-18 11:11 被阅读0次

    背景

    昨天,在开发onvif蜜罐的过程中,发现针对3702端口的扫描行为,payload并不是十分规矩,蜜罐收到部分扫描的数据包后,会出现崩溃的情况。排查发现传入的扫描数据为:b'<\xaa>\x00'.decode(),报错信息为:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xaa in position 1: invalid start byte

    回忆之前做MQTT蜜罐时遇到的十六进制数据解码出错的问题,立刻想到了,网络中对蜜罐的扫描行为,不仅有ascii的编码方式,也存在十六进制的扫描方式。蜜罐需要做的是,尽量减少报错和崩溃,记录下尽可能多的信息。

    TODO

    其实,TCP和UDP类型的蜜罐在解码过程中,最好使用try做好解码的错误控制,完全就可以避免这种问题产生。

    try:
        onvif_info_dict["data"] = data.decode("ascii")
    except UnicodeDecodeError:
        onvif_info_dict["data"] = ''.join(['%02X ' % b for b in data])
    

    相关文章

      网友评论

          本文标题:减少蜜罐bug之UnicodeDecodeError

          本文链接:https://www.haomeiwen.com/subject/xyrzwqtx.html