By Garrett Kohlrusch | GK Data LLC


Getting a website live is a milestone. Most business owners treat it as a finish line.

It isn’t. It’s a starting line for a different kind of risk — one that’s invisible until it isn’t, and expensive by the time anyone notices.

A working website and a secure website are not the same thing. The site can load perfectly, process payments without a hitch, and look exactly the way you intended — while quietly carrying vulnerabilities an attacker can exploit at any time. No warning signs. No error messages. Nothing to indicate there’s a problem until someone decides to look for one.

Most businesses find out about a breach from a customer, a bank, or a regulatory body. Not from their own systems. By the time that call comes, the damage is already done.


What You’re Actually Protecting

When we talk about web security, most people picture the homepage. The actual attack surface is considerably wider.

Your main site is the obvious starting point — but outdated software, weak authentication configurations, and missing security headers create exposure that isn’t visible to a casual visitor.

Customer-facing portals — login areas, booking systems, account dashboards, payment flows — tend to hold your most sensitive data and receive the least security scrutiny after launch. They’re built, tested for functionality, and shipped. Security testing is often treated as optional, then forgotten entirely.

APIs are increasingly where the real exposure lives. If your site connects to a mobile app, talks to third-party services, or powers any kind of integration, those endpoints need to be tested. Attackers have shifted their focus here because the interfaces are less visible, often less defended, and frequently return far more data than they should.

Subdomains and forgotten assets round out the picture. Old staging environments, abandoned microsites, and legacy integrations that haven’t been touched in years — these often don’t make it onto anyone’s security checklist because nobody is thinking about them anymore. Attackers are.


What Attackers Are Actually Looking For

The vulnerabilities that cause the most damage aren’t exotic. They’re common, well-documented, and frequently present in sites that have never been formally tested.

Broken access controls are the leading cause of web application breaches. This means a user who should only see their own data can, with a small modification to a URL or parameter, see someone else’s. No special skills required. Just someone curious enough to try.

Injection vulnerabilities — SQL injection in particular — have been on the OWASP Top 10 for over two decades. They’re still being found in production applications because they require a code review or active testing to catch, and most sites never get either.

Authentication weaknesses include everything from no account lockout on login forms (making brute-force trivial) to session tokens that don’t expire properly to password reset flows that can be manipulated. Each one is a potential entry point.

Outdated components are especially prevalent in WordPress environments, where an unpatched plugin can hand an attacker access to the entire site. The same applies to any third-party library or framework that hasn’t been updated — the vulnerabilities are public, the exploits are often automated, and the scanning is constant.

Exposed sensitive data — API keys in JavaScript source, internal paths in error messages, excessive data returned by API endpoints — gives attackers the reconnaissance material they need to escalate.

None of these require a sophisticated attacker. They require someone willing to look. Automated scanners do a significant portion of this work continuously, against every publicly accessible site on the internet.


The WordPress Reality

WordPress powers over 43% of all websites. That market share makes it the single largest target for automated exploitation, and a default installation carries a meaningful attack surface: login pages with no rate limiting, user enumeration through predictable URL patterns, file editing enabled in the dashboard, and a plugin ecosystem where any one outdated dependency becomes an entry point.

A hardened WordPress deployment looks very different from a default one. The configuration changes that close these gaps aren’t complicated — but they require someone to actually make them.


What Testing Actually Looks Like

A webapp penetration test isn’t a scan. Automated scanners have a role, but they miss entire vulnerability classes — business logic flaws, access control issues, authentication bypasses — that require a human to actually interact with the application the way an attacker would.

A web application penetration test means someone is actively attempting to exploit your site: testing every input, probing every authenticated function, examining what your APIs expose, and trying to find what an automated tool wouldn’t. The output is a detailed report of what was found, how severe it is, and specifically how to fix it.

The goal isn’t to generate a passing grade. It’s to find what’s there before someone else does.


What GK Data LLC Does

We test web applications, APIs, and infrastructure from the attacker’s perspective — the only vantage point that gives you an accurate picture of actual risk.

If your site has never been tested, or if it’s been substantially changed since the last assessment, the exposure you’re carrying is unknown. Unknown is the most expensive category.

[email protected] | gkdata.io

GK Data LLC is a cybersecurity consultancy based in Minneapolis, MN, specializing in web application security, and managed IT services.