OWASP ZAP
Tool manual · Kali & common usage
Web testing · Beginner · Web testing lane
What is OWASP ZAP?
OWASP ZAP is a free intercepting proxy and DAST scanner for finding web vulnerabilities.
Explore apps manually or run automated baseline/full scans against lab targets and CI pipelines.
Official website: OWASP ZAP · Documentation
When do you use it?
- Open-source alternative/complement to Burp for DAST.
- CI baseline scan against a staging URL you own.
When not to use it
- Active scan without authorization can harm production.
Who uses it?
- AppSec engineers
- Bug bounty hunters (in-scope)
- Penetration testers
How do you use it? (typical flow)
- Install OWASP ZAP using the steps below (prefer Kali package or official installer).
- Confirm you have authorization for the target (lab VM, own system, or written scope).
- Run --help / man (or the Help section) to see current flags for your version.
- Start with a safe example from Basic commands against localhost or an authorized lab target.
- Record what you ran, what you observed, and any follow-up (filter, report, remediation).
Help & manual (like man / --help)
Every serious tool has a built-in way to look up flags. Learn these first so you are not stuck memorizing every option.
1. Docs
https://www.zaproxy.org/docs/
User guide and API.
2. CLI help
zap.sh -help
When using desktop script wrappers.
Kali Linux
Install via Kali packages or download from zaproxy.org. Also popular as Docker image.
1. Installation
| OS | Installation |
|---|---|
Kali Linux | Install via Kali packages or download from zaproxy.org. Also popular as Docker image. |
All platforms | Download from zaproxy.org |
Docker | docker run -t zaproxy/zap-stable zap-baseline.py -t http://localhost:3000 |
2. Basic commands
1. Scan your local Juice Shop instance
Automated Scan → http://localhost:3000
Scan your local Juice Shop instance
2. Show help
Automated --help
List flags for your installed version (same habit as man/--help).
3. Short help
Automated -h
Alternate help flag when supported.
4. Non-intrusive analysis
Passive scan
Non-intrusive analysis
5. Sends attack payloads — lab only
Active scan
Sends attack payloads — lab only
6. Define scope
Contexts
Define scope
Options / flags
| Option | Purpose |
|---|---|
Passive scan | Non-intrusive analysis |
Active scan | Sends attack payloads — lab only |
Contexts | Define scope |
5. Useful features
- Manual explore
- Spidering
- Passive vs active scan
- Automation framework
6. Practical examples
Example 1: Scan your local Juice Shop instance
Automated Scan → http://localhost:3000
Scan your local Juice Shop instance
Example 2: Show help
Automated --help
List flags for your installed version (same habit as man/--help).
Example 3: Short help
Automated -h
Alternate help flag when supported.
Example 4: Non-intrusive analysis
Passive scan
Non-intrusive analysis
Example 5: Sends attack payloads — lab only
Active scan
Sends attack payloads — lab only
7. Important notes
- Frequently used in CI pipelines for automated DAST.
- Authorized targets only — labs, systems you own, or written permission.
- Prefer reading --help / man / official docs for your installed version; flags change over time.
Related course: web application security · bug bounty hunting · Commands: /commands#burp