我们想将python / ZAPv2集成到我们的SDLC中,有时我们只想使用ZAP来验证安全标头,例如Set-Cookie中的HttpOnly标志,CSP标头等...
我在Google上搜索了很多,发现ZAP策略可能对我们有帮助...但是关于如何自定义zap策略以及如何调用API来调用ZAPv2库中的自定义策略的文档非常有限
是否有任何文档/建议/想法可以帮助我...?谢谢!
答案 0 :(得分:1)
安全标头检查通常被实现为被动扫描规则(因此,如果您搜寻或代理流量,则可以获取它们的结果)。以下是有关以编程方式设置被动扫描“策略”的一些信息。
从这里重用我的答案:Export/Import OWASP ZAP Passive Scan Rules
您可以使用的另一个选项是创建一个快速脚本,该脚本使用ZAP的Web API来应用“被动扫描”规则“策略”。相关端点包括:pscan / view / scanners /,pscan / action / disableAllScanners /,pscan / action / enableScanners /。这是一个python示例:
from zapv2 import ZAPv2 as zap
import time
apikey = "apikey12345" #Your apikey
z = zap(apikey=apikey, proxies={"http": "http://127.0.0.1:8080", "https": "http://127.0.0.1:8080"})
time.sleep(2) #Might need to be longer depending on your machine and if ZAP is already running or not
print "Disabling all passive scan rules.."
z.pscan.disable_all_scanners()
scanners = z.pscan.scanners
for scanner in scanners:
print scanner.get("id") + " : " + scanner.get("enabled") + " : " + scanner.get("name")
to_enable = "10020,10021,10062" #Customize as you see fit
print "\nEnabling specific passive scan rules..[" + to_enable +"]"
z.pscan.enable_scanners(to_enable)
print "\nListing enabled passive scan rules.."
scanners2 = z.pscan.scanners
for scanner in scanners2:
if (scanner.get("enabled") == "true"):
print scanner.get("id") + " : " + scanner.get("enabled") + " : " + scanner.get("name")
最后,您可以在一个系统上配置ZAP,然后根据需要将config.xml
复制到其他系统。