Blog Penetration testing

Penetration testing of web applications: What testers focus on and what companies discover

Web applications are the most frequently targeted area of modern companies. The OWASP Top 10 documents the most common vulnerabilities; a penetration test will reveal yours, before an attacker does.

6 October 2025 · 11 minutes reading · Penetration testing

Every company operating a web application: an online shop, customer portal, enterprise information system accessible via browser, or API backend, exposes part of its environment to the internet. And the internet is an environment where attackers from around the world operate 24 hours a day, 365 days a year.

A web application penetration test (web app pentest) is a controlled, legal attack on your application carried out by security specialists. The aim is to identify security weaknesses before real attackers do, and to provide the organisation with specific, prioritised recommendations for remediation.

OWASP Top 10: What testers focus on primarily

OWASP (Open Web Application Security Project) publishes a list of the 10 most common and critical web application vulnerabilities, OWASP Top 10. This list is an industry standard and forms the basis of every web app pentest.

Injection attacks

SQL injection It is a classic yet still too frequently present vulnerability. An attacker inserts an SQL command into an input field (form, URL parameter, API), which the application passes uncritically to the database. The result can be the dumping of the entire database, deletion of records, or bypassing login. Modern ORM frameworks largely eliminate SQL injection, but older code, legacy systems and incorrect use of prepared statements keep it at the top of the rankings.

In addition to SQL injection, testers check NoSQL injection, command injection (inserting system commands) LDAP injection and Template injection.

Broken Authentication and Session Management

Weak or incorrectly implemented identity verification allows an attacker to take over another user's account. Testers check: password mechanism strength, brute-force protection, session token security (length, entropy, expiration), correct implementation of "remember me," secure logout and multi-factor authentication.

Cross-Site Scripting (XSS)

XSS allows an attacker to inject malicious JavaScript into a web page, which then executes in the victim's browser. Consequences include session cookie theft, redirection to phishing sites, keylogging, or website defacement. XSS exists in three variants: reflected, stored, and DOM-based, each requiring a different approach for detection and remediation.

Insecure Direct Object Reference (IDOR)

IDOR occurs when an application fails to verify whether the logged-in user is authorised to access the requested object. Example: URL /orders/12345 displays the order: simply change the number to 12346 and you see someone else's order. IDOR remains one of the most frequently found vulnerabilities due to its conceptual simplicity.

Security Misconfiguration

Incorrect configuration, default passwords left unchanged, active debugging interfaces in production, publicly accessible S3 buckets, unnecessarily permitted HTTP methods, missing security headers (CSP, HSTS, X-Frame-Options), is responsible for a large number of successful breaches. Testers systematically verify the configuration of servers, application frameworks, cloud environments and third-party services.

Another OWASP Top 10 category

Methodology for web application penetration testing: phases and procedures

A professional web application penetration test is not chaotic clicking around the application; it is a structured process with clearly defined phases.

Phase 1: Scoping and preparation

Before starting the test, the following must be contractually defined: scope (which applications, URLs, API endpoints), depth of testing (black-box without login, grey-box with a standard user, white-box with access to source code), timeframe, contact persons and escalation procedure in case a critical vulnerability is found. A pentest without a clearly defined scope is legally risky and technically uncontrolled.

Phase 2: Reconnaissance and mapping

The tester maps the application: identifying technologies (framework, database, server), enumerating endpoints and functions, analysing input points (forms, URL parameters, APIs, files), verifying HTTP headers and cookies, and searching for publicly available information about the application (GitHub leaks, subdomains, old versions). In this phase, an attack surface map is created.

Phase 3: Vulnerability scanning and manual testing

Automated scanners (Burp Suite Pro, OWASP ZAP, Nikto) identify potential vulnerabilities quickly, but they produce false positives and have limited depth. The key is the manual work of an experienced tester: manually verifying each finding, testing business logic errors (which automated tools cannot find), poor implementation of authentication and authorisation, and chaining multiple low-severity vulnerabilities into a serious attack.

Phase 4: Operation

Discovered vulnerabilities are exploited, securely and under control, to demonstrate their actual impact. The goal is not maximum destruction but proof: "this vulnerability allows access to the customer database" is more convincing than a theoretical warning. Every step, screenshot, request and response is documented.

Phase 5: Reporting

The output report is the final product of penetration tests. A quality report contains two parts: executive summary for management (overall security level assessment, list of critical findings in a business context, recommended priorities) and technical detail for developers and IT (each vulnerability with description, proof of exploitation, CVSS score and specific remediation recommendation).

Good news from the pentests is action documentnot just a list of issues. Every finding must have a clear remediation procedure and an estimated implementation effort. After the repairs are implemented, a retest should be carried out to confirm that the vulnerabilities have indeed been removed.

What a company actually gains from web application penetration testing

A pentest is not just "paperwork for compliance." Companies that undergo one typically discover:

A web application penetration test should be carried out at least once a year and always after any major change to the application. If your company operates a web application that has never been tested, it is highly likely to contain vulnerabilities. The SecureOn.cz team conducts web application penetration tests using the OWASP Testing Guide methodology for companies of all sizes: from startups to regulated entities.

Do you need advice on cybersecurity?

Our experts are ready to assess your situation. The first consultation is free of charge.

Get a free consultation