Django自制WAF
check=[]#累加
attack=[]#攻击者IP
stop=0 #停止访问
def waf(request,url): #用于检测攻击
global check,attack,stop
import time
if request.META['REMOTE_ADDR'] in attack:
stop=1
else:
stop=0
check.append("a")
if len(check)>3:
attack.append(request.META['REMOTE_ADDR'])
time.sleep(0.1)
check=[]
此代码可以有效抵挡住扫描攻击,对目录进行恶意扫描的IP封住。
首先waf是一个函数,之后global check,attack,和stop作为静态变量来注入函数内部,之后导入时间模块用来作为延迟0.3秒钟,
META检测来源者的IP地址,之后判断IP地址是否存在于attack里面,如果存在stop为1则禁止访问,之后stop为0的话,check加入一个a,如果a大于3则0.3秒内发送了扫描式攻击行为则会将IP地址加入黑名单。
那么我先来演示一下。
使用kali自带的dirb开始进行扫描目录。

之后就会弹出,把你IP加入黑名单了。


浙公网安备 33010602011771号