LAB-WEB-204 — Wapiti Black-Box Web Application Scan
Purpose
Use Wapiti to perform a constrained black-box assessment, understand crawler-derived coverage and evaluate injection-oriented findings without assuming that automated payload behaviour is safe for every target.
Authorised scope
Target http://web.lab/training/ only. Keep scope at folder level, use a single scan process and exclude logout, reset, upload and administration routes.
Learning objectives
- configure URL scope, modules, exclusions and output;
- explain how crawling controls what can be tested;
- distinguish discovery gaps from clean scan results;
- validate scanner findings with one-variable manual tests;
- document operational impact and scan limitations.
Task 1 — Inspect modules and scope
wapiti --version
wapiti --list-modules
Classify available modules as low, medium or high operational impact. Select only the modules approved by the instructor.
Task 2 — Run the constrained scan
mkdir -p evidence/wapiti
wapiti -u http://web.lab/training/ \
--scope folder \
--skip logout --skip reset --skip upload --skip admin \
-m common,csp,cookieflags \
-f json \
-o evidence/wapiti
The command is a lab baseline. Adjust module names only after checking the installed version and help output.
Task 3 — Measure coverage
Create a coverage table:
| Application function | URL discovered? | Form/input discovered? | Authentication state | Tested module | Coverage gap |
|---|---|---|---|---|---|
| Login | |||||
| Learner profile | |||||
| Enrolments | |||||
| Course search |
Explain why an absent finding on an undiscovered route has no assurance value.
Task 4 — Validate two findings
Use the web.wapiti section of the synthetic evidence pack or live results. For each finding:
- reproduce the baseline request;
- change only the relevant input or header;
- observe the response and final application state;
- record whether the scanner evidence is confirmed;
- define remediation and retest criteria.
Checkpoint: Automated fuzzing can create records, trigger workflows or stress fragile code. Use exclusions and resettable data even in an authorised lab.
Task 5 — Compare with ZAP
Compare Wapiti and ZAP results across:
- discovered routes;
- authentication handling;
- input points;
- passive versus active checks;
- severity terminology;
- report evidence.
Identify one complementary strength and one source of duplicate findings.
Evidence requirements
- tool version and module list;
- exact scan command;
- JSON report;
- coverage table;
- two manual validations;
- Wapiti/ZAP comparison;
- cleanup record.
Knowledge check
1. What does black-box scanning mean in this context?
The scanner assesses the deployed application through requests and responses without relying on source-code analysis.
2. Why is crawler coverage important?
Only discovered and reachable inputs can be assessed; incomplete navigation or authentication produces incomplete testing.
3. Why should high-impact modules be selected explicitly?
They may generate more traffic, alter application state or trigger fragile code paths.