INITWIN Β· Editorial

Software & digital strategy

Penetration testing and security audit: when and why every company should test its applications

What a penetration test is, how it works, what it costs and what report you receive at the end

blog.coverAltArticle
What a penetration test is, how it works, what it costs and what report you receive at the end
30.05.2026 19 min read admin 74 views

What a penetration test is, how it works, what it costs and what report you receive at the end.

Many companies invest in web applications, client portals, online stores, custom CRMs, internal platforms, mobile apps and API integrations. These systems end up managing important data: customers, orders, invoices, contracts, documents, payments, appointments, reports, personal data and operational information.

Yet security is often checked too late.

The application is built, it works, users log in, data is saved, reports are generated. Everything seems fine. But the important question is different: what happens if someone intentionally tries to misuse it?

  • Can a user see another client's data?
  • Can someone bypass authentication?
  • Can a basic role access administrator functions?
  • Can a form be used for injection attacks?
  • Can an error expose technical details?
  • Can an uploaded file become dangerous?
  • Can an API return more data than it should?

These questions are exactly where penetration testing and security audits come in.

A pentest is not a formality. It is a controlled check, done with the company's consent, in which specialists try to identify vulnerabilities before real attackers discover them.

For a company that depends on software, security testing is not a luxury. It is a measure to protect the business.

What is a penetration test?

A penetration test, also called a pentest, is a security assessment in which an application, infrastructure or network is tested from an attacker's perspective, but in a controlled and authorised framework.

The goal is not to "break the application" for show. The goal is to find real vulnerabilities, document them, explain their impact and recommend concrete remediation solutions.

A pentest can verify:

  • web applications;
  • APIs;
  • mobile applications;
  • cloud infrastructure;
  • servers;
  • internal networks;
  • admin panels;
  • authentication and authorisation;
  • roles and permissions;
  • file uploads;
  • external integrations;
  • security configurations;
  • exposure of sensitive data.

For business applications, the most frequently tested areas are the web application, the API and access control. These are where many vulnerabilities with direct impact on data appear.

Pentest vs security audit: what is the difference?

The terms are sometimes used together, but they do not mean exactly the same thing.

A security audit is a broader assessment. It can include analysis of architecture, configurations, policies, code, infrastructure, backups, access, dependencies and internal processes. It is useful for understanding the overall level of security maturity.

A pentest is more practical and more offensive. The tester tries to exploit vulnerabilities in a controlled way to demonstrate impact. For example, they do not limit themselves to saying "there is a risk of unauthorised access", but try to show whether a user can concretely access data that does not belong to them.

In practice, the two complement each other well.

The audit shows where process and architecture weaknesses are.

The pentest shows what can actually be exploited.

For a serious business application, both are valuable.

Why should a company do a pentest?

The first reason is data protection. If the application manages personal data, documents, invoices, contracts or commercial information, exposing them can affect customers and the company's reputation.

The second reason is incident prevention. It is much cheaper to discover a vulnerability in a controlled test than after a real attack.

The third reason is trust. Customers, partners and investors are more willing to work with companies that take security seriously.

The fourth reason is compliance. In certain industries, contractual requirements, internal standards, audit requirements, GDPR, ISO 27001 or other frameworks may require evidence that security is verified.

The fifth reason is software quality. A good pentest does not only help with security. It also helps improve architecture, flows, permissions and the development process.

Security is not only about attackers. It is about more stable, clearer and better controlled applications.

When should a pentest be done?

A pentest is useful at several moments.

Before launching a new application

This is one of the best moments. The application is almost ready, but not yet fully exposed to real users. Vulnerabilities can be fixed before public risks appear.

After major changes

If you added new authentication, roles, payments, APIs, a client portal, document uploads, ERP integration or an administration module, it is worth testing again.

Many vulnerabilities appear not in the first version, but after extensions.

Periodically, for critical applications

For important applications, a pentest should not be a one-off action. An annual or semi-annual check may be justified, depending on risk.

After an incident

If there was suspicion of unauthorised access, data leakage or unusual behaviour, a technical audit can help identify the cause.

Before audits, investments or large contracts

Some companies do a pentest before signing enterprise contracts, entering a certification process or demonstrating technical maturity to a partner.

What types of pentest exist?

There are several types of testing, depending on the level of information provided to the tester.

Black-box

The tester receives very little information, similar to an external attacker. This approach can show what is visible from outside, but may miss internal issues or authenticated flows.

Grey-box

The tester receives limited access: test accounts, roles, partial documentation, APIs or architecture information. For business applications, this is often the most efficient approach.

White-box

The tester has access to code, architecture, configurations and documentation. It is useful for deeper audits and critical applications.

For many custom web applications, the practical recommendation is grey-box. The tester can realistically verify application flows, including roles and permissions, without wasting time only on discovering basic information.

How does a pentest work?

A serious pentest does not start directly with scans or attacks. It starts with planning.

1. Defining scope

At this stage it is clarified what is tested: the web application, the API, the admin panel, user roles, the server, the mobile app, integrations, cloud infrastructure.

Limits are also set: what is allowed, what is not allowed, which environments are tested, which accounts are used, which time windows are acceptable and who must be notified if a critical risk appears.

This stage is essential. A pentest without clear scope can produce confusion, risks and results that are hard to use.

2. Information gathering

The tester analyses the application, endpoints, visible technologies, flows, forms, authentication, URL structure, API behaviour and other relevant details.

This stage should not be confused with spectacular hacking. It is a methodical analysis.

3. Vulnerability identification

Problems are sought such as: weak access control, vulnerable authentication, SQL injection, XSS, CSRF, exposure of sensitive data, misconfigurations, unsafe file uploads, APIs without proper authorisation, errors that expose information, poorly managed tokens, missing rate limiting, vulnerable dependencies.

4. Impact validation

A good report does not rely only on automated alerts. Vulnerabilities must be validated manually. Not every scanner result is critical. Some are false positives, others have low impact, and others are very serious.

Validation makes the difference between an automated scan and a real pentest.

5. Reporting

At the end, the client receives a report with discovered vulnerabilities, risk level, explanations, controlled evidence and remediation recommendations.

6. Remediation and retesting

After the technical team fixes the issues, retesting is recommended. This confirms that vulnerabilities were remediated correctly and no side effects appeared.

What do you get in a pentest report?

A good report must be useful both for management and for the technical team.

For management, the report must explain: overall risk level, the most important vulnerabilities, impact on the business, remediation priorities, risks for data, customers and operations, strategic recommendations.

For developers, the report must include: vulnerability description, reproduction steps in a controlled form, affected endpoints or areas, technical evidence, impact, severity, remediation recommendation, references to best practices, status after retesting.

A weak report only says "there is a vulnerability". A good report explains what it means, why it matters and how to fix it.

Examples of vulnerabilities a pentest can discover

Broken Access Control

An authenticated client can change the ID in the URL and see another client's documents. This is a serious problem because it exposes confidential data.

SQL Injection

A search field or API parameter allows manipulation of database queries. Impact can include reading, modifying or deleting data.

Cross-Site Scripting

A user can inject content that executes in another user's browser. Impact can include session theft or unauthorised actions.

CSRF

An authenticated user can be tricked into sending an unwanted request to the application. This is especially relevant in applications that use cookie-based sessions.

Unsafe file upload

The application allows uploading dangerous files or exposes private files through public links.

Weak authentication

Missing rate limiting on login, unsafe password reset, tokens that do not expire, weak passwords or missing 2FA for administrators.

Misconfigurations

Debug active in production, overly detailed error messages, overly permissive CORS, exposed admin panel or outdated services.

These problems are not theoretical. They appear frequently in real applications, especially when security was not integrated from the development phase.

How much does a pentest cost?

Cost depends on scope, complexity, number of roles, number of features, existence of APIs, reporting level, retesting and the experience of the team performing the test.

For a small web application with few roles and features, an audit/pentest can start from approximately €1,500–3,000 on the local or regional market, depending on depth level.

For a medium business application with authentication, roles, admin panel, API and important flows, a realistic budget can be between €3,000 and €8,000.

For complex platforms, SaaS, marketplaces, applications with payments, multi-tenant, extensive APIs, mobile apps or cloud infrastructure, cost can exceed €10,000–20,000.

In international markets, web application tests frequently reach the €5,000–30,000 USD or EUR range, depending on complexity.

It is important to understand that a very cheap pentest may be only an automated scan with a quickly generated report. This can be useful as a basic check, but does not replace manual analysis.

What influences the price?

  • number of pages and flows;
  • number of roles;
  • complexity of authorisation;
  • existence of APIs;
  • external integrations;
  • web application plus mobile;
  • data volume;
  • need for authenticated testing;
  • available documentation;
  • reporting level;
  • retesting included;
  • project urgency;
  • need for out-of-hours testing;
  • compliance requirements.

A simple presentation portal is not tested the same way as an order platform with payments, documents and multiple roles.

Automated pentest vs manual pentest

Automated scans are useful. They can discover known vulnerabilities, misconfigurations, vulnerable dependencies or basic problems.

But automated scans are not sufficient for business applications.

A scanner can see that a form exists. But it does not always understand business logic. It does not know that a manager should not approve their own request. It does not know that a client should not see another client's documents. It does not know that changing a status in a certain order creates a financial problem.

Manual pentesting is important for: roles and permissions, business logic, complex flows, authenticated APIs, real abuse scenarios, impact validation, reducing false positives.

A good combination uses automated tools, but relies on human analysis for important vulnerabilities.

What should the company prepare before a pentest?

  • clear scope;
  • URLs and test environments;
  • accounts for each role;
  • minimal documentation;
  • important flows;
  • test data;
  • technical contact person;
  • internal approvals;
  • testing time windows;
  • stop rules in case of risk;
  • recent backup;
  • staging environment, if possible.

It is not recommended to test directly in production without a clear plan. In some cases, production testing is necessary for realism, but it must be done with caution and explicit authorisation.

Why pentesting must be linked to remediation

A pentest without remediation is just a list of problems.

Real value appears when vulnerabilities are fixed. That is why ideally the company that develops or maintains the application should be involved in the remediation process.

The healthy flow is: testing, report, prioritisation, remediation, retesting, documentation update, improvement of the development process.

If serious vulnerabilities appear, they should not be treated only as isolated bugs. The cause must be analysed. Was it lack of validation? Lack of code review? Lack of testing? Wrong architecture? Unclear permissions? Weak configuration?

That is how security improves in the long term.

Pentest and maintenance: a recurring service, not a one-off action

Applications change. New features, dependencies, integrations, users and risks appear. An application tested two years ago is not automatically secure today.

That is why security must be integrated into maintenance.

For important applications, the recommendation is: periodic vulnerability scans, dependency updates, log monitoring, security review for new features, annual pentest or after major changes, retesting after remediations, tested backup and disaster recovery, updated documentation.

Pentesting can become part of a security and maintenance package, not just a one-off project.

What INITWIN can offer as an adjacent service

For a software company, pentesting and security audits can become natural services around custom applications.

INITWIN can offer:

  • initial technical audit;
  • security review for existing applications;
  • web application testing;
  • API testing;
  • roles and permissions verification;
  • server configuration analysis;
  • OWASP Top 10 review;
  • vulnerability report;
  • remediation plan;
  • implementation of remediations;
  • retesting;
  • monitoring and maintenance;
  • security consultancy during development.

This approach is valuable for clients because they do not only receive a report with problems, but also a partner who can help fix them.

Frequent company mistakes

  • Testing security only after launch, when the application is already used by clients.
  • Believing that an SSL certificate means a secure application.
  • Using automated scans and calling them a complete pentest.
  • Not testing roles and permissions.
  • Ignoring APIs, although the mobile app or frontend depends on them.
  • Not retesting after remediations.
  • Not having a backup before testing.
  • Not establishing clear scope.
  • Not involving the development team in remediation.
  • Treating security as an expense, not as protection of the investment.

Checklist for entrepreneurs

Before requesting a pentest, ask:

  • Which application do we want to test?
  • What data does it manage?
  • What are the most sensitive features?
  • Do we have APIs?
  • Do we have multiple roles?
  • Do we have an admin panel?
  • Is there file upload?
  • Are there payments?
  • Is there personal or sensitive data?
  • Do we have a staging environment?
  • Do we have a recent backup?
  • Who will fix the issues?
  • Do we need retesting?
  • Do we need a report for management, for the technical team or for an external partner?

These questions help define realistic scope.

Conclusion

Pentesting and security audits are not only services for large companies. Any company that has an important web application, a client portal, an internal system, an order platform, an API or sensitive data should test its security.

A well-done penetration test shows what vulnerabilities exist, what impact they have and how they can be remediated. A security audit provides a broader picture of technical and operational risks. Together, they help the company prevent incidents, increase customer trust and protect its software investment.

The cost of a pentest depends on complexity, but must be compared with the real cost of an incident: lost data, downtime, damaged reputation, unhappy customers and crisis remediation.

Security should not be checked only when a problem appears. It must be tested beforehand, planned and done periodically.

For modern business applications, the question is not "do we need a pentest?", but "when did we last do one and what did we fix afterwards?".

Custom SoftwareClient GuidesDevelopment Process