- 11 min read
How to pentest your web app — a practical, honest, and useful guide (AU English)

Contents
- 11 min read
Short version: pentesting your web application means ethically probing it to find security weaknesses before attackers do. This guide walks you through an end-to-step workflow, the tools you’ll want in your kit, practical advice on techniques and prioritisation, and what to do when you can’t fix it yourself (hint: you can hire us). Written in Australian English and aimed at developers, product owners and ops teams who want to harden their apps.
Contents (quick navigation)
- Why pentest and what ‘good’ looks like
- Legal & ethical must-dos (read this first)
- Scoping and planning your test
- A repeatable pentest methodology (recon → exploit → report)
- Hands-on checklist by vulnerability type
- Tools — the full list, grouped by task
- Integration: CI/CD, SAST/DAST, bug bounties and monitoring
- Remediation, verification & reporting templates
- When to call in professionals (and how we help)
- Closing & CTA
1. Why pentest and what ‘good’ looks like
Pentesting (penetration testing) is a proactive security exercise that simulates attacker techniques against your web application to discover vulnerabilities and weaknesses. It’s not just a checkbox — when done correctly it:
- reduces the chance of data breaches,
- helps prioritise engineering work,
- proves compliance for customers and regulators,
- improves confidence for investors or enterprise clients.
Good pentesting is repeatable, scoped, and risk-managed. It finds the most important, realistic problems (not just noisy low-value findings), provides clear remediation steps, and re-tests fixes.
2. Legal & ethical must-dos (do not skip)
This is critical. Never run offensive scans against infrastructure you don’t own or don’t have written permission to test.
- Authorisation: Obtain written permission from system owners. For organisations, use a one-page engagement letter or signed rules-of-engagement (RoE).
- Scope: Define domains, IP ranges, subdomains, API endpoints, environments (staging vs production). Explicitly exclude backup systems, third-party services you don’t control, and production payment gateways if appropriate.
- Time windows & throttling: Agree on testing windows and rate limits to avoid outages.
- Data sensitivity: If testing will touch personal data, confirm legal requirements (privacy laws, breach obligations).
- Disclosure policy: Agree how findings will be handled and communicated. If you plan responsible disclosure or bug-bounty, document it.
- Emergency contacts: List who to call if you discover an active compromise or cause outages.
Legally unauthorised testing can be a crime. If you’re not sure, stop and get formal sign-off.
3. Scoping and planning your test
A well-scoped test saves time and produces actionable results.
Key scoping elements
- Targets: e.g. app.example.com, api.example.com, staging.example.com
- In-scope assets: web apps, APIs, static assets, authentication endpoints
- Out-of-scope assets: third-party SaaS consoles, partner networks, CDN edge nodes (unless owned)
- Test types: Black box (no creds), Grey box (limited creds), White box (source code/access)
- Depth: Quick scan (sanity check), Standard pentest (2–5 days), Full engagement (multi-week, code review, infra)
- Rules of engagement: times, testing tools that are banned/allowed, maximum load, etc.
Decide your level of intrusiveness early — simulated attacks can cause outages. For production, favour grey-box testing with test accounts and throttled tooling.
4. A repeatable pentest methodology
This is a simple, industry-proven flow you can follow.
Phase A — Reconnaissance (information gathering)
Goal: build an inventory of attack surface.
- Enumerate domains & subdomains (DNS brute, certificate transparency logs).
- Map public endpoints (robots.txt, sitemap.xml).
- Discover JavaScript endpoints and API routes by crawling the UI.
- Fingerprint technologies (server, frameworks, libraries).
- Check open ports and services (where permitted).
- Gather publicly-available secrets (misconfigured S3, exposed credentials in repos — responsibly).
Outcome: asset inventory and attack plan.
Phase B — Automated scanning
Goal: get initial vulnerability candidates to prioritise manual testing.
- Run a web scanner (passive first, then light active scans).
- Test API endpoints with authenticated tokens where possible.
- Run dependency checks for known vulnerable library versions.
Tip: tune scanner noise and filter false positives early. Scanners are helpful but produce many low-signal findings.
Phase C — Manual testing & verification
Goal: manually validate, chain issues into realistic attack paths, and prioritise by impact and exploitability.
Focus areas:
- Authentication & session management
- Authorisation (horizontal & vertical)
- Injections (SQL, NoSQL, template)
- Cross-Site Scripting (XSS)
- CSRF & CORS misconfiguration
- Business logic flaws (the highest value, hardest to find)
- File upload & deserialisation
- Insecure direct object references (IDOR)
- Rate-limiting & brute force weaknesses
- Sensitive data exposures (in transit or at rest)
- Server & app misconfigurations
Always try to exploit vulnerabilities in a controlled, non-destructive manner to demonstrate impact (e.g. read a test account, not all user data).
Phase D — Post-exploitation & chaining
Goal: understand what an attacker could ultimately achieve by combining findings.
- Can an IDOR + weak session lead to data exfiltration?
- Can file upload lead to remote code execution in specific stacks?
- How far can you pivot from app to underlying infra (SSH, databases)?
Phase E — Reporting & remediation verification
Goal: produce a clear report and verify fixes.
- Provide clear reproduction steps (high-level), impact, proof-of-concept references and remediation guidance.
- Prioritise findings (Critical, High, Medium, Low) with suggested fixes.
- After fixes, re-test to confirm closure.
5. Hands-on checklist (by vulnerability type)
Below is a practical checklist you can run through. Use test accounts — don’t test with production admin accounts unless you have approvals.
Authentication & session management
- Check password reset flows for token leakage or weak tokens.
- Verify multi-factor authentication (MFA) where required.
- Confirm session identifiers are long, random and have proper expiry.
- Test “remember me” and persistent login flows for replayability.
- Attempt brute force (rate-limited) and check lockout behaviour.
Authorisation
- Attempt IDORs: access other users’ resources by altering IDs.
- Attempt privilege escalation: access admin-only endpoints with normal accounts.
- Check roles/claims in JWTs for modifiable fields.
Injection
- Identify inputs reaching DBs, ORMs or template engines.
- Look for unsanitised inputs in SQL/NoSQL contexts.
- Check headers, cookies, POST bodies, JSON, URL parameters.
Note: do not run destructive payloads. Demonstrate via safe reads where possible.
Cross-site scripting (XSS)
- Test reflected, stored and DOM-based XSS.
- Check any place user-supplied content is rendered in HTML or dangerously used in JS.
- Validate content security policy (CSP) presence and strength.
Cross-site request forgery (CSRF)
- Check state-changing endpoints for CSRF tokens and SameSite cookie flags.
- Test CORS configuration — overly permissive CORS is equivalent to no CORS.
File upload & deserialisation
- Test allowed mime types and content sniffing.
- Confirm files are stored outside webroot or served via safe proxies.
- Test for unsafe deserialisation in Java/.NET/PHP contexts.
Business logic flaws
- Search for manipulation of pricing, coupons, refunds, or multi-tenant mixing.
- Try to abuse race conditions for inventory or payments.
API-specific checks
- Test rate limits, pagination, parameter tampering, object ownership.
- Ensure API auth tokens cannot be trivially forged or reused.
Infrastructure & deployment
- Check for exposed admin consoles, misconfigured dashboards, or debug endpoints.
- Verify security headers (HSTS, X-Frame-Options, X-Content-Type-Options).
- Inspect TLS configuration and certificate validity.
6. Tools — the full list (grouped by task)
Below is a practical toolkit. Many tools have free/community editions; commercial tools provide higher fidelity and fewer false positives. Use responsibly and only within scope.
Reconnaissance & mapping
- Amass — subdomain enumeration and mapping.
- Subfinder — fast subdomain discovery.
- crt.sh / CertStream — certificate transparency lookups (use via web tools).
- theHarvester — email & domain harvesting.
- Wayback Machine / Archive.org (manually) — find previously exposed endpoints.
Port & network scans
- Nmap — port scanning and service detection.
- Masscan — high-speed port scanning (use with caution).
Automated scanning (web)
- OWASP ZAP — free, powerful DAST. Great for automation and CI.
- Burp Suite (Community & Professional) — the industry standard proxy and suite for manual testing.
- Nikto — quick webserver and CGI checks.
- Arachni — web scanner (can be used for older PHP apps).
API testing
- Postman — API exploration & testing.
- Insomnia — alternate API client.
- Burp Suite / ZAP — intercept and fuzz API calls.
Vulnerability scanners (commercial)
- Nessus — network & web vulnerability scanning.
- Qualys / Rapid7 Nexpose / Acunetix — web and infra scanners.
Fuzzing & brute forcing
- ffuf — fast web fuzzing for directories and parameters.
- wfuzz — parameter fuzzing.
- dirb / DirBuster — directory brute forcing.
Injection & exploitation helpers
- sqlmap — SQL injection testing automation (use cautiously, many false positives; prefer manual confirmation).
- Commix — command injection detection (use responsibly).
- XXE tools / Burp plugins — for XML deserialisation checks.
Password & credential testing
- Hydra — protocol login brute force (use carefully within scope).
- Hashcat / John the Ripper — password cracking for hashes (only on hashes you are authorised to test).
Web proxies & manual tools
- Burp Suite — intercepting proxy, repeater, intruder (professional has more features).
- OWASP ZAP — good free alternative.
- Fiddler — Windows proxy tool.
Static analysis & dependency checks
- Snyk — dependency vulnerability scanning.
- Dependabot (GitHub) — automatic dependency update suggestions.
- OWASP Dependency-Check — open-source software composition analysis.
Container & infra checks
- Trivy — container and dependency scanning.
- Clair — container image scanning.
Misc useful utilities
- jq — JSON processing.
- curl/httpie — quick HTTP testing.
- mitmproxy — CLI proxy for intercepting traffic.
- Wireshark — packet analysis where needed.
Note: Many of these tools can be noisy and intrusive. Start with passive/passive-like data collection and small, controlled automated scans.
7. Integration: CI/CD, SAST/DAST, bug bounties, monitoring
A single pentest is useful — integration makes security continuous.
Shift left: SAST & dependency scanning
- Integrate static analysis and dependency scanning into CI (e.g. GitHub Actions, GitLab CI) to catch vulnerable libraries and insecure patterns early.
- Tools: SonarQube, Snyk, Dependabot, OWASP Dependency-Check.
DAST & staged testing
- Run automated dynamic scans against staging on every release candidate; schedule heavier tests nightly/weekly.
- Keep staging as close to production as possible but with scrubbed data.
Runtime protection & monitoring
- Use WAFs (Web Application Firewalls) to block common attacks (but don’t rely on them as the only defence).
- Instrument logs, alerts and EDR for suspicious activity. Keep logs centralised and retained for incident investigation.
Bug bounty & disclosure
- For mature apps, running a private bug bounty or coordinating with public platforms (HackerOne, Bugcrowd) can uncover more issues over time.
- Offer clear rules and safe harbour for researchers and reward highest-value reports.
8. Remediation, verification & reporting templates
Prioritisation model
Use a risk-based model: Exploitability × Impact. Prefer fixing authentication/authorisation and RCE/data exfiltration bugs first.
Example remediation notes (concise, actionable)
- Finding: Insecure direct object reference on
/invoices/{id}.
Fix: Enforce server-side ownership checks on resource access; verify requester’s userID matches resource owner. Add unit/integration tests to cover access rules. - Finding: Missing CSRF tokens on state-changing POST endpoints.
Fix: Implement anti-CSRF tokens or ensure SameSite and CSRF header checks. Harden session cookie attributes. - Finding: Outdated library X (v1.2.3 — known RCE).
Fix: Upgrade to patched version X >= 1.4.0; run regression tests.
Re-test checklist
- Confirm app behaviour after patch.
- Validate fix via the same test case that originally demonstrated the issue.
- Check for regression and side-effects.
- Update monitoring/alerts where relevant.
Reporting essentials
A clear pentest report includes:
- Executive summary (non-technical) — severity, business impact, risk posture.
- Scope & methodology.
- Findings (prioritised) — for each: description, evidence (screenshots/log snippets), impact, remediation steps.
- Appendix — tools used, logs, reproduction steps for the dev/security team.
9. When to call professionals (and how we help)
You’ll probably be fine doing routine checks yourself. Call in experts if any of the following apply:
- You discover signs of an active compromise.
- You need external assurance for enterprise customers or investors.
- Your product handles large volumes of personal data or financial transactions.
- You lack in-house security expertise to triage, remediate and retest complex chains (IDOR → SSRF → RCE).
- You want a white-glove service: code review + red-team + compliance-ready reporting.
How we help (what to expect when you hire a proper pentest partner):
- Scoped engagement with RoE and legal authorisation templates.
- Combination of manual and automated testing with grey-box access (we’ll use test accounts or source where needed).
- Focus on business-critical flows (login, payments, admin portals, API keys).
- Clear remediation guidance and follow-up retest.
- Option to provide developer workshops to close root causes.
If after following this guide you can’t resolve issues, or you want professional verification, we can run a targeted pentest for you, provide a remediation plan and re-test. Book a free strategy session with Digital One Agency and we’ll map out exactly what you need.
10. Practical tips, gotchas and final checklist
Practical tips
- Use test data: never use real customer data during tests.
- Version everything: track versions of scans and tools to reproduce results later.
- Automate safe checks: integrate ZAP baseline scans into pipelines.
- Track fixes in tickets: attach report references to JIRA/Trello tickets so remediation is auditable.
- Test clients and mobile: mobile or JS-heavy apps often move logic to client side — test the app and API thoroughly.
Common gotchas
- Serverless endpoints hidden behind JS may be missed by basic crawlers — use authenticated API discovery.
- Third-party widgets/scripts can introduce supply-chain risk. Monitor and lock down dependencies.
- Business logic issues require domain knowledge — they’re high-value and often missed by scanners.
Final pre-flight checklist before a pentest
- Written authorisation and RoE signed.
- Clear in-scope and out-of-scope assets.
- Backup & rollback plan in place.
- Contact list for emergency.
- Snapshot of baseline monitoring and metrics for detection if issues occur.
Tools quick reference (summary)
- Recon: Amass, subfinder, theHarvester
- Scanning: OWASP ZAP, Burp Suite, Nessus, Nikto
- Fuzzing: ffuf, wfuzz, DirBuster
- Injection helpers: sqlmap (use with caution)
- API testing: Postman, Insomnia
- Dependency checks: Snyk, Dependabot, OWASP Dependency-Check
- Containers: Trivy
- Passwords: Hydra, Hashcat (use only in scope)
- Proxies: mitmproxy, Burp, ZAP
Closing — want help? (CTA)
Pentesting well is hard. If you want a tailored test performed by an experienced team who understand web apps, APIs, payment systems and compliance, we can help.
Book a Free 1-Hour Strategy Session
👉 Book a meeting
📞 Call us globally 24/7: +61 2 9057 9079
📧 Email: contact@digitaloneagency.com.au
We’ll scope the right test for your risk profile, prioritise what matters, and provide a remediation plan your engineers can action quickly.
Need Web3 & Crypto Development in Australia or the UK?
Digital One Agency is a senior, founder-led engineering team based in Australia (Gold Coast HQ) with active UK clients in London, Manchester and Edinburgh. We build web3 platforms, token launches, smart contract development and DeFi apps for serious founders.
- Free 30-minute discovery call with a senior engineer
- Fixed-scope quote with milestone billing — no hourly rates
- AU & UK references on request
- Bespoke code you own — not a SaaS reseller, not a ChatGPT wrapper
Book your free discovery call → Or send us your project details
Share
- Get in touch
Kickstart a project today!
Fill out the form, and a member of our team will reach out to discuss your project and answer any questions you might have.