Zest
Zest is an experimental specialized scripting language (also known as a domain-specific language)
originally developed by the Mozilla security team and is intended to be used in web oriented security tools.
Ela está incluída no ZAP por default.
Engine Name
The engine is named Mozilla Zest, which should be used when manually/programmatically configuring ZAP.
Criando scripts em Zest
Há várias maneiras de criar scripts em Zest:
Botão de gravar um novo script em Zest
- Aperte o botão "Gravar um novo script Zest" na barra de ferramentas principal
- Digite um nome apropriado para o seu script na caixa de diálogo 'Adicionar um Script do Zest'
- Selecione o prefixo que você deseja registrar os requests, ou deixe em branco para gravar todos eles
- Pressione o botão 'Salvar'
- O botão 'Gravar um novo script Zest' vai ficar pressionado, mudar para 'Gravando um novo script Zest' e mostrar um ícone vermelho.
O novo script Zest aparecerá na aba Scripts com um ícone vermelho de 'gravação'.
Qualquer request que você fizer com o prefixo especificado será adicionado ao script.
Pressione novamente 'Gravando um novo script Zest' para interromper a gravação dos requests.
Observe que desta forma você só pode gravar scripts Zest 'Stand Alone'. Se quiser criar outros tipos de scripts Zest você deve usar outro mecanismo.
Você também pode clicar com o botão direito do mouse em qualquer script Zest stand alone e assim usar os botões 'Iniciar gravação' e 'Parar gravação'.
There are two primary methods for script recording: server-side and client-side. For client-side recording, we leverage the ZAP browser extension and a dedicated client add-on.
This combination allows us to efficiently capture and save user interactions in Zest scripts.
Novo Botão de Script
- Navegue até a aba 'Árvore de Scripts'
- Pressione o botão 'Novo script'
- Digite um nome apropriado para o seu script na caixa de diálogo 'Novo Script'
- Selecione o tipo de script (veja a página de ajuda do complemento de Scripts para mais detalhes)
- Selecione o mecanismo de script do Zest
- Selecione um dos templates (se interessar)
- Pressione o botão 'Salvar'
Qualquer tipo de script Zest pode ser criado assim.
Clicando com botão direito num template Zest
- Navegue até a aba 'Árvore de Scripts'
- Expanda o nó de 'Templates' e encontre um template que você deseja usar
- Clique com o botão direito no template e selecione ' novo Script.... '
- Pressione o botão 'Salvar'
Any type of Zest script can be created this way.
Requests com o botão direito do mouse
- Navegue até qualquer aba que mostre requests, tais como a aba de histórico
- Selecione um ou mais requeste
- Clique com o botão direito sobre eles
- Selecione o menu 'Adicionar Script Zest', que permite a você selecionar um script Stand Alone existente ou criar um novo
Note that you can only add request to 'Stand Alone' Zest scripts.
Plug-n-Hack
If you are using a recent version of Firefox then you can create Zest scripts from within your browser.
- Aperte o botão de 'Plug-n-Hack' na guia 'Quick Start' do ZAP
- Instale o Complemento Plug-n-Hack para Firefox e aceite todos os diálogos com OK/Sim
- Pressione 'Shift F2' no Firefox para acessar a barra de ferramentas do desenvolvedor
- Digite 'zap record on global' para iniciar a gravação de um novo script Zest
- Quaisquer requests que você fizer através do ZAP serão adicionados para o script
- Digite 'zap record off global' para encerrar a gravação do script
Note that you can only record 'Stand Alone' Zest scripts in this way. If you want to create other types of Zest script you must use another mechanism.
Editando scripts Zest
Zest scripts are edited graphically in the Scripts tree tab.
Each statement is a node in the tree - double click nodes to edit the statement properties.
You can add, move and remove statements via right clicking the Zest nodes.
You can also add requests to 'Stand alone' Zest scripts by right clicking the requests in any of the other tabs.
There are also some right click options available when you select text in the Request or Response tabs.
Zest includes a set of 'built in' variables as well as allowing you to declare your own.
A right click menu is provided (where relevant) in the edit dialogs to allow you to paste in any of the available variable names.
Authentication Scripts
Authentication scripts can use a custom ZAP variable, called TOTP, to send a value to an input field with a TOTP code generated from the user's credentials TOTP data.
Import/Export Integration
When the Import/Export add-on is installed, Zest adds the following functionality:
Import Zest Script
An option to import messages from a Zest script file is available via the 'Import' menu ('Import Zest Script...').
The HTTP requests (and responses, if present) from the script are added to the Sites tree and History panel without replaying them.
Export as Zest Script
The Export menu supports exporting the history as a Zest script file.
This creates a Zest script containing the HTTP requests (and responses).
Automation Framework
When both the Import/Export and Automation add-ons are installed, Zest scripts can be imported and exported via the Automation Framework.
Import Job
Use the Import/Export add-on's import job with type: zest to import HTTP messages from a Zest script file (.zst):
- type: import
parameters:
type: zest
fileName: /path/to/script.zst
The HTTP requests (and responses, if present) from the script are added to the Sites tree and History panel without replaying them.
Export Job
Use the Import/Export add-on's export job with type: zest to export messages to a Zest script file.
The source parameter can be history (manually/proxied messages) or all (all messages including those generated by ZAP):
- type: export
parameters:
type: zest
source: history
fileName: /path/to/output.zst
Links externos