-
-
Notifications
You must be signed in to change notification settings - Fork 136
HelpAddonsZestZest
Zest is an experimental specialized scripting language (also known as a domain-specific language) developed by the Mozilla security team and is intended to be used in web oriented security tools.
It is included by default with ZAP.
There are a variety of ways to create Zest scripts:
- Press the 'Record a new Zest script' button on the main toolbar
- Type in a suitable name for your script in the 'Add a Zest Script' dialog
- Select the prefix you want to record requests for, or leave blank to record all requests
- Press the 'Save' button
- The 'Record a new Zest script' button will stay pressed, change to 'Recording a new Zest script' and show a red icon.
The new Zest script will be shown in the Scripts tab with a red 'recording' icon. Any requests that you make underneath the specified prefix will be added to the script. Press the 'Recording a new Zest script' again to stop recording the requests. 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.
You can also right click any Stand Alone Zest script and use the 'Start recording' and 'Stop recording' buttons.
- Navigate to the Scripts tree tab
- Press the 'New Script...' button
- Type in a suitable name for your script in the 'New Script' dialog
- Select the script type (see the Scripts add-on help page for more details)
- Select the Zest script engine
- Select one of the templates (if relevant)
- Press the 'Save' button
Any type of Zest script can be created this way.
- Navigate to the Scripts tree tab
- Expand the 'Templates' node and find a template you want to use
- Right click on the template and select 'New Script...'
- Press the 'Save' button
Any type of Zest script can be created this way.
- Navigate to any tab that shows requests, such as the History tab
- Select one or more requests
- Right click on them
- Select the 'Add to Zest Script' menu which allows you to select an existing Stand Alone script or create a new one
Note that you can only add request to 'Stand Alone' Zest scripts.
If you are using a recent version of Firefox then you can create Zest scripts from within your browser.
- Press the 'Plug-n-Hack' button on the ZAP 'Quick Start' tab
- Install the Plug-n-Hack Firefox Add-on and accept all of the dialogs
- Press 'Shift F2' in Firefox to access the Developer Toolbar
- Type 'zap record on global' to start recording a new Zest script
- Any requests you make through ZAP will be added to the script
- Type 'zap record off global' to stop recording the 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.
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.
https://developer.mozilla.org/en-US/docs/zest | Zest overview | |
https://github.com/mozilla/zest | The Zest github repository, including details of the language |
-
ZAP User Guide
- Introduction
-
Getting Started
- Configuring proxies
-
Features
- Active Scan
- Add-ons
- Alerts
- Anti CSRF Tokens
- API
- Authentication
- Break Points
- Callbacks
- Contexts
- Data Driven Content
- Filters
- Globally Excluded URLs
- HTTP Sessions
- Man-in-the-middle Proxy
- Modes
- Notes
- Passive Scan
- Scan Policies
- Scope
- Session Management
- Spider
- Statistics
- Structural Modifiers
- Structural Parameters
- Tags
- Users
- Scanner Rules
- A Simple Penetration Test
-
The User Interface
- Overview
- The Top Level Menu
- The Top Level Toolbar
- The Tabs
-
The Dialogs
- Active Scan
- Add Alert
- Add Break Point
- Add Note
- Encode/Decode/Hash
- Filter
- Find
- History Filter
- Manual Request Editor
- Manage Add-ons
- Manage Tags
-
Options
- Active Scan
- Active Scan Input Vectors
- Alerts
- Anti CSRF Tokens
- API
- Breakpoints
- Callback Address
- Certificate
- Check for Updates
- Connection
- Database
- Display
- Dynamic SSL Certificates
- Extensions
- Global Exclude URL
- HTTP Sessions
- JVM
- Keyboard
- Language
- Local Proxies
- Passive Scan Rules
- Passive Scan Tags
- Passive Scanner
- Rule Configuration
- Scripts
- Search
- Spider
- Statistics
- Persist Session
- Resend
- Scan Policy Manager
- Scan Progress
- Session
- Spider
- The Footer
- Command Line
- Add Ons
- Releases
- Paros Proxy
- Credits