我正在Windows上编写一个程序,使用OWASP ZAP API来自动执行针对目标URL运行ZAP的过程。到目前为止,我能够使用zap.bat文件和arguments-daemon-config-api.disablekey=true成功启动应用程序。启动应用程序时,zap能够在localhost:8080上侦听。我还创建了传递以下参数的ClientAPi对象:
ClientApi zaproxy = new ClientApi("127.0.0.1", 8080, null);
我现在正试图使用context类中的includeContext(string contextname,string regex(方法设置上下文,但遇到了一个错误:
System.Exception: 'System.Xml.XmlException: Root element is missing.
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at System.Xml.XmlTextReaderImpl.Read()
at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
at System.Xml.XmlDocument.Load(XmlReader reader)
at System.Xml.XmlDocument.LoadXml(String xml)
at OWASPZAPDotNetAPI.ClientApi.CallApiRaw(String component, String operationType, String operationName, Dictionary 2 parameters)
at OWASPZAPDotNetAPI.ClientApi.CallApi(String component, String operationType, String operationName, Dictionary 2 parameters)
at OWASPZAPDotNetAPI.Generated.Context.includeInContext(String contextname, String regex)
然而,当我在后台启动ZAP GUI,然后运行守护进程并设置上下文时,它似乎可以工作。有人能告诉我如何解决上述错误吗?谢谢
看看https://www.zaproxy.org/docs/automate/-这列出了ZAP自动化的方法。我怀疑其中一个打包扫描对你来说可能更容易使用。