Ошибка отсутствует корневой элемент API OWASP ZAP

#security #testing #owasp #zap #penetration-testing

Вопрос:

Я пишу программу в Windows с использованием API OWASP ZAP для автоматизации процесса запуска ZAP по целевому URL-адресу. До сих пор мне удавалось успешно запускать приложение с помощью файла zap.bat и аргументов-daemon-config api.disablekey=true. Запустив приложение, ZAP может прослушивать на локальном хосте:8080. Я также создал объект ClientAPi, передающий эти параметры:

 ClientApi zaproxy = new ClientApi("127.0.0.1", 8080, null);
 

Сейчас я пытаюсь установить контекст с помощью метода includeInContext(имя контекста строки, регулярное выражение строки) из класса контекста, но получаю сообщение об ошибке:

 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 в фоновом режиме, а затем запускаю демона и устанавливаю контекст, кажется, что это работает. Может ли кто-нибудь, пожалуйста, сообщить мне, как устранить вышеуказанную ошибку? Спасибо!

Ответ №1:

Взгляните на https://www.zaproxy.org/docs/automate/ — здесь перечислены способы автоматизации ZAP. Я подозреваю, что одно из упакованных сканирований может быть проще для вас в использовании.