Skip to main content

Web Application Assessment

Kill chain for web application security testing. Covers reconnaissance through exploitation with structured reporting.

Full Config​

target:
type: web-application
host: 192.168.1.50
label: target-env
url: https://192.168.1.50
scope:
networks:
- 192.168.1.0/24
exclude: []

engagement:
purpose: |
Web application security assessment.
Identify injection points, authentication flaws, and access control issues.
rules:
- No denial of service
- No data destruction
- No credential stuffing against production accounts
- Rate limit all automated requests
operator: your-name

kill_chain:
name: webapp-assessment
stages:
# Stage 1: Map the application
- name: recon
plugins:
- recon
- web-enum
gate: any_pass

# Stage 2: Identify attack surface
- name: discovery
plugins:
- id: web-enum
config:
wordlist: /usr/share/wordlists/dirb/big.txt
extensions: php,asp,aspx,jsp,html,js
threads: 20
- id: web-exploit
config:
mode: passive
crawl_depth: 3
gate: any_pass
depends_on: recon

# Stage 3: Test for vulnerabilities
- name: exploitation
plugins:
- id: web-exploit
config:
mode: active
tests:
- sqli
- xss
- ssrf
- lfi
- rce
rate_limit: 10
- id: sqli
config:
technique: union,blind,time
gate: any_pass
depends_on: discovery

# Stage 4: Test authentication
- name: auth-testing
plugins:
- id: credential-access
config:
protocols:
- http
targets:
- login_forms
- id: web-exploit
config:
tests:
- session-management
- csrf
- idor
gate: always
depends_on: discovery

model:
provider: ollama
model: blackrainbow
host: http://localhost:11434
temperature: 0.3

output:
report: ./reports/
capture: ./captures/
format: markdown

Stage Breakdown​

Stage 1: Recon​

recon -- network-level reconnaissance. Port scans to identify all web services (HTTP, HTTPS on standard and non-standard ports).

web-enum -- web-specific enumeration. Technology fingerprinting, header analysis, robots.txt, sitemap parsing.

Stage 2: Discovery​

web-enum (with config) -- directory and file brute-forcing with a larger wordlist. Discovers hidden endpoints, admin panels, backup files, configuration leaks.

web-exploit (passive mode) -- spidering and passive analysis. Crawls the application to map endpoints, parameters, and input fields without sending attack payloads.

Stage 3: Exploitation​

web-exploit (active mode) -- injection testing against discovered endpoints. SQL injection, cross-site scripting, server-side request forgery, local file inclusion, remote code execution. Rate-limited to avoid triggering WAF blocks.

sqli -- dedicated SQL injection testing with multiple techniques (UNION-based, blind boolean, time-based).

Stage 4: Auth Testing​

credential-access -- tests login forms for default credentials, weak passwords, and brute-force resistance.

web-exploit (auth-specific) -- session management testing (fixation, prediction, expiration), CSRF protection validation, and IDOR checks.

The gate is always because authentication testing provides value even when no credentials are cracked.

Running It​

br run --config webapp-assessment.yaml

Skip to exploitation (you already mapped the app):

br run --config webapp-assessment.yaml --start-stage exploitation

Preview the attack plan:

br run --config webapp-assessment.yaml --dry-run

Expected Findings​

TechniqueWhat It Means
T1190Exploit Public-Facing Application
T1059Command and Scripting Interpreter
T1083File and Directory Discovery
T1110Brute Force
T1539Steal Web Session Cookie
T1071Application Layer Protocol

Customization​

API-only assessment​

Replace web-enum with API-specific discovery:

- name: discovery
plugins:
- id: web-enum
config:
mode: api
spec_url: https://192.168.1.50/api/docs
wordlist: /usr/share/wordlists/api-endpoints.txt
gate: any_pass
depends_on: recon

Add rate limiting​

Control request rates to avoid triggering defenses:

- id: web-exploit
config:
rate_limit: 5
delay_between_tests: 2

Focus on OWASP Top 10​

Restrict testing to specific vulnerability categories:

- id: web-exploit
config:
mode: active
tests:
- sqli
- xss
- ssrf
- broken-auth
- security-misconfig