Пытался автоматизировать сканирование zap прокси на сайте. Ниже мой поток
- Запустить Zap прокси
- Создать новый сеанс (
/JSON/core/action/newSession/?apikey=12345&name=NewSession&overwrite=true
) - Создать новый контекст (
/JSON/context/action/newContext/?apikey=12345&contextName=NewContext
) - Добавление шаблонов URL для включения и исключения в контекст (
/JSON/context/action/setContextRegexs/?apikey=12345&contextName=NewContext&incRegexs=[https://myowsapjuiceshop.herokuapp.com/*]&excRegexs=[^(?:(?!http.*://myowsapjuiceshop.herokuapp.com).*).$]
) - Добавление технологий в контекст (
/JSON/context/action/includeContextTechnologies/?apikey=12345&contextName=NewContext&technologyNames=Db.MySQL%2CLanguage.Java%2COS.Linux%2CWS.Tomcat
) - Запуск тестов пользовательского интерфейса с набором прокси
- Запуск активного сканирования (
/JSON/ascan/action/scan/?apikey=12345&url=&recurse=&inScopeOnly=&scanPolicyName=&method=&postData=&contextId=2
) // 2 - правильный contextID - Ожидание завершения активного сканирования (
/JSON/ascan/view/status/?apikey=12345&scanId=5
) // 5 - идентификатор сканирования, который я должен получить с шага 7 (запустить ответ активного сканирования) - Get Alerts json (
/JSON/alert/view/alerts/?apikey=12345&baseurl=&start=&count=&riskId=
)
Все хорошо до шага 7 и я застрял на шаге 7. На основе документации "Запускает активный сканер по указанному URL и / или Контекст .... ". У меня было понимание, что я могу запустить активное сканирование в контексте и URL-адрес необязателен, когда упоминается ContextId.
Но, когда я нажимаю API, чтобы запустить активное сканирование с правильным apikey и contextId /JSON/ascan/action/scan/?apikey=12345&url=&recurse=&inScopeOnly=&scanPolicyName=&method=&postData=&contextId=2
Ответ: {"code":"missing_parameter","message":"Missing Parameter"}
Я получаю ниже ошибку в журналах zap
1581054 [ZAP-ProxyThread-65] WARN org.zaproxy.zap.extension.api.API - Bad request to API endpoint [/JSON/ascan/action/scan/] from [127.0.0.1]:
Missing Parameter (missing_parameter) : url
at org.zaproxy.zap.extension.ascan.ActiveScanAPI.scanURL(ActiveScanAPI.java:874)
at org.zaproxy.zap.extension.ascan.ActiveScanAPI.handleApiAction(ActiveScanAPI.java:369)
at org.zaproxy.zap.extension.api.API.handleApiRequest(API.java:506)
at org.parosproxy.paros.core.proxy.ProxyThread.processHttp(ProxyThread.java:499)
at org.parosproxy.paros.core.proxy.ProxyThread.run(ProxyThread.java:335)
at java.lang.Thread.run(Thread.java:748)
Я хочу запустить активный ascan на всех записанных URL, которые включают и исключают регулярное выражение, которое у меня есть установить в контексте. Любая помощь будет принята с благодарностью.