ArticlesSecurity

Is Your Contact Form a Security Risk? SQL Injection, XSS and Spam Bots

Contact forms, booking requests and checkout pages accept text from strangers, which makes them a favorite target. Here's how SQL injection, cross-site scripting and spam bots work, with real WordPress plugin examples. There's also a hardening checklist you can work through this week.

Hoke DesignsWritten byHoke Designs October 14, 2026 6 min read Infographic inside
Is Your Contact Form a Security Risk? SQL Injection, XSS and Spam Bots
Put in perspective
Why Website Forms Are a Prime Target for Attacks
How SQL injection, XSS and spam bots hit WordPress forms, and the steps that cut the risk
47.7%
Share of 2024 vulnerabilities that were XSS
11,334New WordPress ecosystem vulnerabilities found in 2025
43%2024 vulnerabilities exploitable with no login
5 hoursHow soon exploits can launch after disclosure
Source: Patchstack; Colorlib summary of Patchstack dataHoke Designs

Yes, your contact form is one of the most exposed parts of your website. Any field that accepts text from a stranger is a door attackers will try. That includes a contact form, a booking request or a checkout page. The three most common ways they try it are SQL injection, cross-site scripting (XSS) and automated spam bots.

The encouraging part is that most of the risk comes from a short list of fixable problems: outdated plugins, more plugins than you need, and nobody watching. Below you’ll find how each attack works, real examples from WordPress form plugins, and a checklist you can work through this week.

Why Forms Are a Favorite Target

A form exists to accept input from anyone on the internet. On a WordPress site, that input is almost always handled by a plugin, and plugins are where the trouble concentrates. Patchstack found 7,966 new vulnerabilities in the WordPress ecosystem in 2024, with 96% in plugins and 4% in themes. The following year the count rose to 11,334, a 42% increase, with 91% in plugins and only 6 in WordPress core itself.

Those flaws have real consequences. According to Patchstack, vulnerabilities in core, plugins and themes are to blame for almost half of malware infections. In 2024 alone, 1,614 plugins and themes were removed from the WordPress repository because of unpatched security issues. If one of those was running your booking calendar, it simply stopped receiving fixes.

For many Southeast Alaska businesses, the form is the business. Tourism operators take reservations through it, and real estate agents collect leads with it. Contractors use it for quote requests. That makes it both valuable to you and attractive to attackers.

Server room with rows of blinking servers and one rack glowing red as a warning
Server room with rows of blinking servers and one rack glowing red as a warning

SQL Injection: When a Form Field Talks to Your Database

SQL injection happens when a plugin takes what someone typed and passes it straight into a database query. If the input isn’t properly handled, an attacker can type database commands instead of a name or email address. The database then runs them.

This isn’t theoretical. The Bit Form plugin, in versions up to 2.13.11, had a SQL injection flaw caused by user-supplied input being concatenated into SQL queries, fixed in version 2.13.12. The HTML Forms plugin, in versions up to 1.3.24, carried a SQL injection vulnerability with a critical CVSS 3.1 score of 9.1, fixed in version 1.3.25.

A successful injection can expose stored submissions, customer details and account records, or allow them to be changed. Notice that in both cases the fix already existed. The sites at risk were the ones that hadn’t updated.

Cross-Site Scripting: When Your Form Serves Someone Else’s Code

XSS works differently. Instead of attacking your database, the attacker gets your site to deliver their JavaScript to visitors or administrators. Stored XSS saves the malicious script, for example in a submission you later open in your dashboard. Reflected XSS bounces it back through a crafted link.

XSS is the single most common WordPress vulnerability type. Colorlib’s summary of Patchstack data puts it at 47.7% of vulnerabilities found in 2024, and notes that 43% of that year’s vulnerabilities required no authentication to exploit. In plain terms, many attacks don’t need a password at all.

Person entering card details on a laptop with a faint shadowy figure reflected in the screen
Person entering card details on a laptop with a faint shadowy figure reflected in the screen

Even the most widely used form plugins are affected. Contact Form 7 had a reflected XSS vulnerability in its active-tab parameter affecting versions up to and including 5.9. If you run it, confirm you’re on a later release.

Checkout Skimming: XSS With a Price Tag

On an online store, injected JavaScript can do more than deface a page. Attackers actively exploited a critical flaw in the Funnel Builder plugin, used by more than 40,000 WooCommerce stores, injecting JavaScript into checkout pages without logging in to steal card numbers, CVVs and billing addresses. Customers saw a normal checkout. The thieves saw everything typed into it.

If you sell online, treat every plugin that touches your cart or checkout as high-stakes. That includes funnels, upsells and custom fields.

Spam Bots: The Noisy Attack That Hides the Quiet Ones

Spam bots are the attack you notice first, because your inbox fills with junk. Beyond the annoyance, they can clog your CRM with fake leads and abuse your form to send unwanted email. They can also hammer your server. Bots are also used to probe forms for exactly the injection flaws described above. A flood of spam is sometimes cover for something more targeted.

Small business owner reviewing a tablet and checklist in a waterfront office with misty mountains outside
Small business owner reviewing a tablet and checklist in a waterfront office with misty mountains outside

Layered defenses work best. Common options include hidden honeypot fields, CAPTCHA or invisible challenge tools, and rate limiting on submissions. No single tool stops everything, and aggressive settings can block real customers, so test after each change.

Why Speed Matters More Than It Used To

The window between a flaw being announced and attacks beginning is short. Colorlib’s summary of Patchstack’s 2025 testing says exploits can launch within 5 hours of disclosure, and that traditional defenses blocked only 12% of WordPress-specific attacks. A generic firewall helps, but it isn’t a substitute for prompt updates and WordPress-aware protection.

A Hardening Checklist for Forms, Bookings and Checkouts

  1. Inventory your form plugins. List every plugin that accepts input, including contact, booking, quote, newsletter and checkout plugins.
  2. Remove what you don’t use. Deactivated plugins can still be a risk. Delete them.
  3. Update promptly. Check for updates at least weekly. Turn on automatic updates for trusted plugins where it won’t break your site.
  4. Check that each plugin is still maintained. If it has been pulled from the repository or hasn’t been updated in a long time, plan a replacement.
  5. Collect only what you need. Every extra field is extra data to protect. Never collect card numbers through a general contact form.
  6. Limit stored submissions. Use your email or CRM as the record. Clear old entries from the WordPress database on a schedule.
  7. Add layered spam protection. Combine a honeypot or challenge with rate limiting, then send yourself a test submission.
  8. Use WordPress-aware security. Choose a firewall or virtual-patching service that understands plugin vulnerabilities.
  9. Keep tested backups. Store them off the server and confirm you can actually restore one.
  10. Watch for warning signs. Look out for unexpected admin users, unfamiliar scripts on checkout pages, or sudden spikes in submissions.

When to Bring in a Professional

You can do all of this yourself if you’re disciplined about it. The hard part is consistency. With thousands of new vulnerabilities each year and exploits arriving within hours, security becomes an ongoing job rather than a one-time setup. If your forms take payments, bookings or personal information, ongoing professional care is worth considering. A one-time setup won’t keep up.

Hoke Designs has been designing websites since 2007. We build e-commerce stores, reservations and appointment booking, and offer managed hosting, so forms and checkouts are part of everyday work for our team. If your site is hosted with us and something about a form looks wrong, raise it through our support desk at support.hokedesigns.com.

Key Takeaways

  • Contact forms, booking pages and checkouts accept input from anyone, which makes them prime targets.
  • Most WordPress vulnerabilities live in plugins, not core.
  • SQL injection targets your database. XSS targets your visitors, and on a store it can mean stolen card data.
  • Spam bots are a nuisance and sometimes a cover for probing.
  • Prompt updates, fewer plugins, minimal data collection and WordPress-aware protection do most of the work.

If you’d like a second set of eyes on your forms, call (424) 209-8199 or send a message via the contact form, and a person will reply within one business day.

Images are presented for illustration purposes only.We use real photographs when we need to show what was happening at a real event.

#tips#vulnerabilities

Keep reading

More on Security

All Security articles All articles

Hoke Designs

Questions about your own website?

Talk to the team that writes these articles and looks after dozens of sites every day. You’ll get a straight answer.