服务器返回200表示回调的值可以被利用,存在此漏洞,由于CALLBACK并不限定数量,如果回调值里加入多个url,可造成Ddos攻击,Upnp的官方文档里也给出了说明:
每个回调值向回调值指定的主机发送107个SYN包。在107个SYN包之后,它尝试
连接下一个值。这意味着每25字节就有107*60字节的TCP SYN流量。我们可以计算一下放大的倍数:107*60/25=256,也就是说1个回调值放大256倍,如果采用多个回调值可进行无限放大。
如果返回412,说明回调值不可利用,不存在此漏洞,前面的扫描结果也说明了这一点。
总结总的来说,回调值如果被利用了后果还是挺严重的,如果没有必要,最好关闭UPnP端口。看来电视盒子定期也要更新系统啊,否则为什么定期弹窗让升级系统呢?在最新更新的UPnP协议规范中,可以看出开发者限制了订阅事件的源IP和目标IP都必须在内网中,这从一定程度上修复了该漏洞。