防火牆簡單的識別方式: 如圖: 可以簡單明瞭看出:發送SYN不回應,發送ACK回RST可以說明開啟過濾等等 基於這個原理,我們可以寫一個腳本來對防火牆來探測和識別: 這裡的flags==18或者是6或者是4,是TCP中FLAG代表的數字: OK,我們可以試試這個腳本: 如果腳本是從windows移過 ...
防火牆簡單的識別方式:
如圖:
可以簡單明瞭看出:發送SYN不回應,發送ACK回RST可以說明開啟過濾等等
基於這個原理,我們可以寫一個腳本來對防火牆來探測和識別:
#!/usr/bin/python from scapy.all import * import logging logging.getLogger("scapy.runtime").setLevel(logging.ERROR) import sys if len(sys.argv) != 3: print "Usage - ./FW_detect.py [Target.IP] [Target Port]" print "Example - ./FW_detect.py 1.1.1.1 443" print "Example will determine if filtering exists on port 443 of Host 1.1.1.1" sys.exit() ip = sys.argv[1] port = int(sys.argv[2]) ACK_response = sr1(IP(dst=ip) / TCP(dport=port, flags="A"), timeout=1, verbose=0) SYN_response = sr1(IP(dst=ip) / TCP(dport=port, flags="S"), timeout=1, verbose=0) if SYN_response == None and int(ACK_response[TCP].flags) == 4: print "Stateful filtering in place" elif (int(SYN_response[TCP].flags) == 18 or int(SYN_response[TCP].flags) == 6) and (ACK_response == None) == 4: print "Stateful filtering in place" elif (int(SYN_response[TCP].flags) == 18 or int(SYN_response[TCP].flags) == 6) and int(ACK_response[TCP].flags) == 4: print "Port is unfiltered or open" elif (ACK_response == None) and (SYN_response == None): print "Port is closed" else: print "Unable to determine if the port is filtered"
這裡的flags==18或者是6或者是4,是TCP中FLAG代表的數字:
OK,我們可以試試這個腳本:
如果腳本是從windows移過來的:
vi xxx.py
:set fileformat=unix
:wq
chmod u+x xxx.py
./xxx.py
隨便掃了兩個埠,結果準確性不錯
我們可以用Nmap來驗證一下掃描結果正確性:
負載均衡識別:
負載均衡從其應用的地理結構上分為本地負載均衡(Local Load Balance)和全局負載均衡(Global Load Balance,也叫地域負載均衡)
本地負載均衡是指對本地的伺服器群做負載均衡,全局負載均衡是指對分別放置在不同的地理位置、有不同網路結構的伺服器群間作負載均衡。
它提供了一種廉價有效透明的方法擴展網路設備和伺服器的帶寬、增加吞吐量、加強網路數據處理能力、提高網路的靈活性和可用性。
簡單來說是DNS,即同一個功能變數名稱對應不同IP。
基於web的服務負載均衡經常使用Nginx、Apache應用層負載均衡
命令:LBD:
WAF識別:
WAF(Web Application Firewall)的中文名稱叫做“Web應用防火牆”。
利用國際上公認的一種說法,WAF的定義是這樣的:Web應用防火牆是通過執行一系列針對HTTP/HTTPS的安全策略來專門為Web應用提供保護的一款產品。
通過從上面對WAF的定義中,我們可以很清晰的瞭解到,WAF是一種工作在應用層的、通過特定的安全策略來專門為Web應用提供安全防護的產品
基於機器學習結合語法詞法分析的WAF將成為主流,幾乎可防止所有的SQL註入
命令:waf00f
檢測到某網站使用IBM Web Application Security
使用Nmap的腳本也可以輕易實現: