#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. Я подозреваю, что одно из упакованных сканирований может быть проще для вас в использовании.