Testing a web application before go-live
An application goes live with its features validated and its security assumed. Application penetration testing turns that assumption into a finding, before someone else does it for you.
What a scanner will never find
Automated analysis covers most known technical defects: outdated libraries, missing headers, classic injection. It is useful, it is fast, and it should be done. But a scanner does not know your business.
And the defects that cost the most are precisely the ones rooted in your logic: an order identifier you can increment to read the next client's file, a role that checks authorisation on display but not on action, a price recalculated in the browser, a validation step that can be skipped. None of these has a signature; they are found by understanding what the application is meant to do.
To that add the surface the browser does not show: the APIs. They often carry looser controls than the interface calling them, because nobody expects them to be called directly. That expectation holds up poorly.
- Another client's data reached by simply changing an identifier
- Authorisation checked on display, absent on the action itself
- API less protected than the interface consuming it
- Business rule bypassed by skipping a step
- Fixes shipped without any check that they hold
Five steps, one of them often forgotten
How we proceed
The test is best run against a staging environment faithful to production, with representative data but no real client records.
Scoping and access
Perimeter, environment, roles to test and rules of engagement. We ask for accounts at every privilege level: that is what makes it possible to check that an ordinary user cannot do what an administrator does.
Functional mapping
Walking the application as a user, then recording entry points, the APIs underneath and the business rules governing them. This step conditions everything that follows: you only test well what you have understood.
Manual exploitation
Hunting for authorisation and business-logic defects, authentication and session weaknesses, injection and vulnerable dependencies. Every finding is exploited until its real impact is demonstrated, never left as a suspicion.
Prioritised debrief
A report with two readings: what an attacker could reach and what needs deciding, then the technical detail with reproducible proof and a proposed fix. The ranking follows the risk in your context, not a raw score.
Retest
Once fixes are in, we replay the agreed scenarios to confirm they hold and have not simply moved the problem elsewhere.
Several disciplines, a single point of contact
The test reveals, code review traces it to the root, training prevents the repeat.
- Report prioritised by real risk
- Proof of exploitation your teams can reproduce
- A proposed fix for every finding
- Technical and executive debriefs
- Retest to confirm the fixes
Frequently asked questions
Your application goes live next week?
Describe its scope and we will tell you what a test can cover before then.