防火墙识别、负载均衡识别、waf识别

防火墙识别:

通过发送SYN和ACK数据包并分析回包可以大概判断端口是否被防火墙过滤,对应关系如下表:

Python代码实现:

 1 #!/usr/bin/python
 2 from scapy.all import *
 3 
 4 if len(sys.argv) != 3:
 5     print "This script needs 2 args!
Example:./firewall_detect.py 192.168.0.0 80"
 6     sys.exit()
 7 
 8 ip = sys.argv[1]
 9 port = int(sys.argv[2])
10 
11 r1 = sr1(IP(dst = ip) / TCP(flags = "S", dport = port), timeout = 1, verbose = 0)
12 r2 = sr1(IP(dst = ip) / TCP(flags = "A", dport = port), timeout = 1, verbose = 0)
13 
14 if (r1 == None and r2[TCP].flags == "R") or ((r1[TCP].flags == "SA" or r1[TCP].flags == "SR") and r2 == None):
15     print "Filtered!"
16 elif (r1[TCP].flags == "SA" or r1[TCP].flags == "SR") and r2[TCP].flags == "R":
17     print "Unfiltered/Open!"
18 else:
19     print "Closed!"
View Code

使用该脚本测试靶机:

负载均衡识别:

负载均衡技术说白了就是不让所有的访问量集中到一台服务器上,从而实现网络流量、服务器负载的平均分配,从而保证整个系统的高度可用性。

识别负载均衡的最常用的的命令就是lbd,用这个命令扫描大型网站一般都会扫除相应的结果。

WAF识别:

WAF全称是web application firewall,即web应用防火墙。

wafw00f是kali上集成的WAF检测工具,在命令后面接上要识别的站点就可以进行识别了:

我们可以看到微软官网使用的是开源的ModSecurity。

原文地址:https://www.cnblogs.com/angiejc/p/9390653.html