All articles
12 min read

Web Application Penetration Testing: Process, Scope and Deliverables

A web application penetration test is an authorised attack on a website or portal that proves which weaknesses are exploitable. It runs in five steps, from information gathering to a written report, and the scope you agree in writing decides what is tested.

By Sangam Goel, Founder & C.T.O · Updated 2 Nov 2026

A security tester works at a laptop and monitor at a desk in an office, with a notebook and a cup of tea beside the keyboard.

Key takeaways

  • A web application penetration test is an authorised attack simulation that proves which weaknesses an attacker could use, and ends in a written report with recommended fixes.
  • Our process has five steps: information gathering, vulnerability identification, analysis, penetration testing and a comprehensive report.
  • Scope decides coverage. Write down the hosts, every logged-in role, whether application programming interfaces (APIs) are tested, checkout and admin consoles, the environment, excluded techniques and contacts before the test starts.
  • Every finding in the report has five parts: the vulnerability, its risk, its impact, the evidence and the recommended fix.
In this article
  1. 1What is web application penetration testing?
  2. 2How does vulnerability scanning differ from penetration testing?
  3. 3What are the five steps of our penetration testing methodology?
  4. 4What does a penetration test look for?
  5. 5What should be in scope for a portal or e-commerce site?
  6. 6Public pages, logged-in roles and APIs
  7. 7Payment, checkout and admin consoles
  8. 8What to agree with any tester before the test starts
  9. 9Which standards do testers work to?
  10. 10What does the penetration testing report contain?
  11. 11What is the preparation checklist before a test starts?
  12. 12How should you read findings and decide what comes next?
  13. 13How to read and prioritise findings
  14. 14When continuous testing (PTaaS) makes sense
  15. 15Frequently asked questions

A test can only cover what its brief names. If the brief says “our website”, a tester may check every public page, stop at the login screen and still hand over a tidy report, while the customer records, order histories and admin functions behind that screen go untested.

This guide is a briefing for the product or engineering lead who has to write that brief. It explains what a test covers, how it runs, what belongs in and out of scope, and what you receive at the end, with a scope table to paste into an email and a checklist to run before testing starts.

What is web application penetration testing?

Web application penetration testing is an authorised, controlled attack on a website, portal or web-based system. It finds weaknesses and proves which ones an attacker could actually use. A web application pentest ends with a written report that tells your team what to fix.

Vulnerability exploitation is now the most common way breaches begin. According to the Verizon 2026 Data Breach Investigations Report, nearly a third (31%) of breaches started with a vulnerability being exploited, the first time in the report’s 19 years that this has overtaken stolen credentials. The figure covers software in general, not only web applications.

A "web application" here means anything people reach through a browser: public pages, login, forms, checkout, admin consoles and the interfaces behind them. We call our service VAPT, short for vulnerability assessment and penetration testing: finding weaknesses first, then proving which ones matter.

How does vulnerability scanning differ from penetration testing?

Vulnerability scanning uses automated tools to list known weaknesses. Penetration testing has a person try to exploit them and judge the real risk. We combine automated scanning with manual testing by our security experts, so the scan gives breadth and the manual work gives proof.

The manual part matters because a tool matches patterns but does not know your business rules. It cannot know that one customer must never see another customer's invoice. A tester holding two accounts can check exactly that.

What are the five steps of our penetration testing methodology?

Our web application penetration testing methodology has five steps: information gathering, vulnerability identification, analysis, penetration testing and a comprehensive report. Each step feeds the next, and the scope you agree decides how far steps one to four can reach.

Five objects in a row on a workbench: a magnifying glass over a blueprint, a clipboard, sorted tiles, a lockpick at a door lock and a sealed folder.
Each step hands its result to the next, from looking around to writing it all up.
  1. 1
    Information gathering
    We collect data about the target, such as domains, IP (internet protocol) addresses, open ports, technologies and services, to understand the attack surface. Your scope list is the starting input.
  2. 2
    Vulnerability identification
    We use automated tools and manual techniques to find known vulnerabilities in systems, applications and configurations.
  3. 3
    Analysis
    We assess each vulnerability for severity, impact and how exploitable it is in a real environment.
  4. 4
    Penetration testing
    We simulate real-world attacks by exploiting the critical vulnerabilities, to measure the actual risk and confirm the security gaps.
  5. 5
    Comprehensive report
    We compile every finding with its risk, impact, evidence and recommended fix.

What does a penetration test look for?

A test works through many weakness classes. Three from the OWASP Top 10:2025 are the easiest to picture and the most relevant to portals and shops: Broken Access Control, Injection and Authentication Failures. OWASP is the Open Worldwide Application Security Project, which publishes the Top 10 list of web risks.

  • Broken Access Control. OWASP defines it as users acting outside their intended permissions. Its own example is changing an account number in a web address to read another person's account.
  • Injection. Untrusted input is treated as a command. OWASP's 2025 Injection category includes cross-site scripting (XSS, where an attacker's script runs in another user's browser) and SQL injection (where input alters a database query). XSS is therefore not a separate Top 10 class in 2025.
  • Authentication Failures. OWASP describes them as tricking a system into treating an invalid user as legitimate. They include session flaws: a session identifier exposed in the web address, reused after login, or not invalidated at logout or after inactivity.

What should be in scope for a portal or e-commerce site?

The scope of a web application penetration test is a written list of what the tester may attack, with which accounts, in which environment and by which methods. For a portal or e-commerce site, that means public pages, each logged-in role, checkout and payment paths, and admin consoles, plus a decision on the APIs behind them.

Anything left off the list is untested. The table below is our recommended brief.

Public pages, logged-in roles and APIs

Unauthenticated testing shows what any visitor can reach. Authenticated testing gives the tester a login for each role, so they can test what a customer, staff member or admin could do. Testing without logins is often called black-box and testing with role accounts grey-box. These are general terms, not a service name.

[Confirm with client]: whether we carry out authenticated testing, and how many role accounts we take.

Many access control flaws, such as one customer reading another's records, only appear when a tester holds accounts. For data held per customer, we recommend two accounts in the same role, so the tester can check that one cannot read the other's records. APIs behind the site are a separate scope from the web interface. Decide whether to test them, and if so see our API VAPT page.

A floor plan of a building with a boundary rope drawn around some rooms and one room left outside, next to a signed agreement sheet.
The written scope draws a line around what the tester may attack, and anything outside it goes untested.

Payment, checkout and admin consoles

Decide whether the payment provider runs in test mode and which checkout steps the tester may use. The tester should not be able to charge a real card or message a real customer by accident. A payment provider's systems are not yours to authorise, so exclude them or get that provider's permission.

List the admin console by address even if it is hidden from public view. A console nobody told the tester about is a console nobody tested.

What to agree with any tester before the test starts

Agree two things in writing. The Penetration Testing Execution Standard separates them: scope states what will be tested, and the rules of engagement state how the testing will happen. Use this table as the brief.

ItemWrite downPasses if
ObjectiveThe one question the test must answer, such as "can one customer see another's orders?"A colleague reads it and can say what a good result looks like
Hosts and URLsEvery domain, subdomain and path in scope, and what is excludedEvery domain and subdomain from your DNS records and certificate list is either listed in scope or listed as excluded
Roles and accountsEach role (visitor, customer, staff, admin) and a login for eachYou have signed in with every account yourself
APIsWhether the APIs are tested, and under which serviceA named person can hand over the list of API endpoints
Payment and checkoutTest mode or live, and which steps may be usedNo step can charge a real card or message a real customer
Admin consolesAddress, who can log in, whether it is reachable from the internetEvery console is listed by address
Third-party servicesServices you do not own, and who can authorise testing themEach has a named owner or is excluded in writing
EnvironmentWhich environment is tested, and how it differs from liveThe differences are written down
Techniques and stop conditionsMethods excluded (such as denial-of-service, which floods a system until it stops responding) and what halts testingBoth are written down, with a named person who can restart testing
Contacts and dataA technical contact, an escalation contact, and how evidence is stored and deletedTwo named people with phone numbers, and a stated deletion rule

If your application runs with a cloud provider, check that provider’s current testing policy before the test. AWS, for example, lists services customers may test without prior approval. Its standard policy prohibits denial-of-service testing and DNS zone walking (listing every record in a hosted DNS zone) via Route 53, and simulated distributed denial-of-service (DDoS) attacks fall under a separate DDoS Simulation Testing policy.

Which standards do testers work to?

Three public references describe what a thorough web test covers: the OWASP Top 10, the OWASP Web Security Testing Guide (WSTG) and NIST SP 800-115. You can ask any tester which of them their coverage follows, and which categories were not tested.

  • OWASP Top 10 (web application testing). The 2025 edition ranks ten risk categories, from A01 Broken Access Control to A10 Mishandling of Exceptional Conditions. It is an awareness list, not a test plan.
  • OWASP WSTG. The Web Security Testing Guide is an open-source, community-maintained framework for testing web applications and web services. Its categories include information gathering, configuration management, identity management, authentication, authorisation, session management, injection, error handling, cryptography, business logic, client-side testing and API testing. It does not replace source code review.
  • NIST SP 800-115. The National Institute of Standards and Technology published Technical Guide to Information Security Testing and Assessment in September 2008. It helps organisations plan and conduct technical security tests, analyse findings and develop mitigation strategies. It is a process guide, not a list of current attack techniques.

A test that follows only the Top 10 titles is thinner than one that follows the WSTG categories. That is our judgement, and it is why the scope table above asks for roles and business functions.

What does the penetration testing report contain?

The web application penetration testing report lists each vulnerability found, the risk it poses, its impact, the evidence behind it and the recommended fix. Those five items let a developer find the problem, a manager judge it, and both agree what to change.

Report itemThe question it answers
VulnerabilitiesWhat is wrong, and where in the application?
RisksHow exposed is the business to this weakness?
ImpactWhat could an attacker gain or damage by using it?
EvidenceWhat proves the weakness is real?
Recommended fixesWhat should our team change to close it?

We deliver a Cycle 1 report and a Cycle 2 report. [Confirm with client]: what the Cycle 1 report and the Cycle 2 report each contain, and whether Cycle 2 is a retest.

What is the preparation checklist before a test starts?

The web application penetration testing checklist has six items: a named test environment, a login for each role, a point of contact, a change freeze, a backup and a data-handling rule. This is general preparation advice. Each item passes or fails on a check you can run.

  1. 1
    Environment named
    Pass if you can write the exact address of the environment under test and list how it differs from live. Fail if "staging" means different things to different colleagues.
  2. 2
    Role accounts working
    Pass if you have signed in with every account, including any second-factor step. Fail if the first login attempt happens on the test's first day.
  3. 3
    Point of contact reachable
    Pass if a technical contact and an escalation contact are named with phone numbers. Fail if either is on leave or unknown.
  4. 4
    Change freeze agreed
    Pass if no release will reach the tested environment while the test runs, and the release owner has confirmed. Fail if a deployment pipeline can still push changes, because findings then describe a build that no longer exists.
  5. 5
    Backup confirmed
    Pass if a recent backup exists and someone has restored from it. Fail if backups exist only on paper.
  6. 6
    Data-handling rule written
    Pass if the document says where evidence is stored and when it is deleted. Fail if it is silent.

How should you read findings and decide what comes next?

Read the report by impact and exploitability: fix first what an attacker can reach easily and what would do the most damage. Then decide whether a single test is enough or your application changes too often for one.

How to read and prioritise findings

Sort findings by two questions. How much damage would exploitation do, and how easily could an attacker reach it? A flaw that exposes other customers' data and needs only a changed web address comes before a flaw that needs several unlikely conditions.

As general advice, not a description of our deliverables, test again after fixes. A fix you have not tested is an assumption.

When continuous testing (PTaaS) makes sense

If your application changes so often that one test goes out of date between releases, Penetration Testing as a Service (PTaaS) is our option for ongoing coverage. Mobile apps, cloud infrastructure and networks are separate scopes: see our Mobile Application VAPT, Cloud Infra VAPT and Network VAPT pages.

Final Thoughts: Agree the scope before you brief a tester

A web application penetration test is only as useful as its brief. Agree the objective, every URL, each logged-in role, the APIs, checkout and admin paths, the environment and the rules in writing. The five steps, from information gathering to a comprehensive report, can then test what matters and prove which weaknesses are real. Read the findings by impact and ease of attack, fix the most exposed first, and test again to confirm the fixes held.

You do not have to work it out alone. Choose Web Application VAPT on our contact form or call +91-9838391333, bring the completed scope table from this guide, and we will set the scope with you in a consultation. You can also email info@gs2cybersec.com.

Book that conversation before your next release changes the application again. Our Web Application VAPT service page describes the offering itself.

Start a consultation now.

Set the scope of your web application test with us

Choose Web Application VAPT on our contact form, bring your completed scope table, and we will set the scope in a consultation.
Start a consultation

Frequently asked questions

An automated vulnerability scan produces a list of possible issues; a penetration test produces confirmed, evidenced findings with recommended fixes. The difference is whether a person tries to exploit each weakness and judges the real risk, rather than only flagging it.
As a general recommendation, test at least once a year and after any major change, such as new roles, payment flows or admin features, then again after fixes. Organisations that must meet PCI DSS v4.0.1 face a similar rule: requirement 11.4 calls for internal and external penetration testing at least once every 12 months and after any significant infrastructure or application change.
Cover logged-in areas whenever the application has them, because customer data usually sits behind a login and public-page testing shows only what any visitor can reach. Provide one account per role, and two in the same role where customers hold their own records.
Agree the objective and the scope first (what will be tested), then the rules of engagement (how it will be tested): environment, excluded techniques, stop conditions, contacts and evidence handling. The table in the scope section lists each item and what a pass looks like.
It can if scope and rules are loose, because testers send unusual requests to the target system. Reduce the risk by naming the environment, excluding disruptive techniques such as denial-of-service, agreeing stop conditions and keeping a contact reachable.

Sources

  1. 1.OWASP Top 10:2025
  2. 2.A01:2025 Broken Access Control
  3. 3.A05:2025 Injection
  4. 4.A07:2025 Authentication Failures
  5. 5.OWASP Web Security Testing Guide
  6. 6.NIST SP 800-115, Technical Guide to Information Security Testing and Assessment
  7. 7.Pre-engagement Interactions
  8. 8.AWS penetration testing policy
  9. 9.PCI DSS v4.0.1
  10. 10.Verizon 2026 Data Breach Investigations Report, Verizon (press release), 19 May 2026

Keep reading

GS2 Cyber Security.

© 2026 GS2 Cyber Security

Powered by PageLens.ai

Get in touch — we'd love to help.

Contact us