Apparently hackers have cracked and can now defeat the protection previously provided by CAPTCHA. As a result my website is now getting inundated with spam user submissions. Does anyone have any suggestions on how I might be able to respond?

Yeah, I've been struggling with the same problem on several sites over the last few days

We knew this day would come. Ultimately, we need a new version of the CAPTCHA plugin that creates different images. Until then, here are some tips and observations:

- most (but not all) of the accounts use hotmail.com or outlook.com email addresses, so I've added those to the list of domains not to allow for registration: Users and Submissions > User Submissions > Automatic Disallow Domains (in the Configuration)

- block IP addresses that signed up the users; many of them will try more than once

- while you're at it, block requests that have "Bork-edition" in the user agent string (this was a fun - legit - version of Opera 7 that nobody really uses any more, but spambots often use that user agent string)

- On a German-language site that I'm running, all the users fail to log in after registration. My guess is that they can't parse the confirmation email. Changing the text of that email may also help (untested).

- The accounts are created for profile spam only, from what I can tell. So banning users (instead of deleting them) and using the two Spam-X modules attached to this issue may also help (they auto-ban users that try to post spammy URLs in their profiles).

- most (but not all) of the accounts use hotmail.com or outlook.com email addresses, so I've added those to the list of domains not to allow for registration: Users and Submissions > User Submissions > Automatic Disallow Domains (in the Configuration)

The problem is I also have valid users who use these types of accounts.

- block IP addresses that signed up the users; many of them will try more than once

That's what I've been doing this morning. I see from the CAPTCHA log that most of the attempts are coming from places like Romania, Ukraine, Thailand, etc. And, I have practically no valid users from those countries, so I don't have any problem at all using the IP Deny Manager to simply block all traffic from those countries. However, sometimes the attempts are coming from individual IP's in the US or other countries where most of my traffic comes from. In those cases, I've been surgically blocking just the offending IP's.

- On a German-language site that I'm running, all the users fail to log in after registration. My guess is that they can't parse the confirmation email. Changing the text of that email may also help (untested).

On my site the new users get stopped at the registration phase, because I have the configuration set so that all new users require approval.

- The accounts are created for profile spam only, from what I can tell. So banning users (instead of deleting them) and using the two Spam-X modules attached to this issue may also help (they auto-ban users that try to post spammy URLs in their profiles).

Interesting. What's the difference between deleting and banning a bogus user account created in this manner? How or why would it be better to ban them, instead of deleting them?

New (related) question. Is there a log, or is there a way to monitor all of the incoming traffic to the website? Or does that have to come from the server level? It would be nice if I could simply look at all of the traffic, and pick off the individual IP addresses that are crating these bogus Spam users.

The point of banning a user instead of deleting them is to keep the URL they're spamming for (in their profile) and then use the above-mentioned Spam-X modules to automatically ban other users that try to spam for the same URL. We've seen that sort of profile spam in the past here on geeklog.net, where apparently human visitors created accounts to spam for the same sites over and over again. I even got hold of a PDF that had detailed steps how to do that ... That's when I wrote those 2 modules.

If you don't see that sort of spamming happening on your site, then you can just as well delete the accounts.

You should have access to the webserver's logfile, in one form or another. Check with your hosting provider. That's where you can best see the raw traffic that's happening, including IP addresses and user agent strings.

You should have access to the webserver's logfile, in one form or another. Check with your hosting provider. That's where you can best see the raw traffic that's happening, including IP addresses and user agent strings.

Yeah, that's what I'm doing right now. I'm currently in a sort of back and forth war with the spammer. They create a new spam user, I block that IP string, they shift to something else. I'm getting the upper hand...

And I'm just going to be deleting the bogus users, because they never get to the point of being valid users posting Spam URL's - I catch and kill them before they get that far.

I've seen the same traffic since a week or two. Not so much, but worrying.
There were also invalid attempts to download, which is maybe a omen.
I do see quite a lot of traffic trying to register, and obvious, only a few break through.
After banning the user-agent and the domains Dirk mentioned, the traffic nearly vanished.

I'm using captcha for any input on the website, unless logged in. And I am using the admission queue. So, when they come back to confirm the registration, a captcha fires again. This brings me to the suggestion to add a timeout to the confirmation of registration.
When the timeout expires, the account is silently deleted (or banned, or suspended).
Add to the rule that they must come back with the same IP?

There was a bunch of articles published going back to October 2013 in which a company had supposedly figured out a way to read or crack Captcha. Now, that has gotten out to the hacker community, and they are using it to spread spam.

I've been focusing on blocking the offending IP addresses. Most of them are in Asia or Eastern Europe, and almost none of my legitimate traffic comes from Romania (for instance) so I have no problem blocking the who damn country...

It started off for me as a fire with 100's of submissions. Throughout the day today I've reduced it to a trickle. I'm still bailing out the boat and plugging holes. Now I'm watching the real time traffic via SSH and the Apache logs, looking to catch and ban the IP's while they are doing the deed. Shhhhhh, be berry berry quiet - I'm huntin' wabbits.

Simple CAPTCHA images can be read already. That is why they have gotten complex over time with lines, changing the orientation of the letter and faded letters. It is not a surprise that the captcha images we use with Geeklog eventually have been figured out by a computer.

The captcha plugin does allow for automated generated captcha and you can also add in new static captcha image sets. Has anyone tried changing to a new static image set or played around the auto generated by changing the backgrounds and fonts?

New ideas for the Captcha plugin would be adding security questions (that are in an image format) that are hard for a computer to figure out but easy for a human.

Something like:

What color is a banana?
What is 2+3-1One of the Geeklog Core Developers.

I found the traffic is back again.
And I see a problem with gl when the plugin is protected by requiring to be logged in.
F.i. the forum replies on a anonymous post that you should register. Very Good.
However, directly after that, the login form is auto displayed with captcha and such.

Well, if the traffic only seeks forum spam, that action is a invitation to try being registered.
I suspect that these spambots fill the form and respond.

In Apache logs I find endless loops of requests to home, forum, create topic, users, captcha, create topic, users, etc. etc.
Some requests do not seem to await an answer.
Also, most tries do refresh the captcha first before entering data.

ironmax

Anonymous

Well isn't this just dandy! Luckily I am not having this issue. I think its because I have been using ZBBLOCK for a few years now. Sure, there has been some adjustments along the way but it is worth it. Reconsider setting it up. It is very configurable and you can customize the signatures for detection. If your users are as loyal to your site as they should be, they'll notify you if they cannot browse your site.

On that page there is a three sentence paragraph of text which currently says: "Register with Panama Guide! Creating a user account will give you all the benefits of Panama Guide membership and it will allow you to post comments and submit items as yourself. If you don't have an account, you will only be able to post anonymously. Please note that your email address will never be publicly displayed on this site."

Where is that text located within the Geeklog program? I want to modify the text to say something along the lines of "CAPTCHA has been cracked and as a result this website is now being flooded with bogus spam user account requests. In order to have your account approved you must first be a paid subscriber, and secondly you must notify me via email to don@panama-guide.com that you are creating your account. If you create a user account without first notifying me, it will simply be deleted along with the 100 or so bogus spam accounts I have to clear out every day..."

You will find the text in the language files of Geeklog. If you are using English it would then be either english_utf-8.php or English.php depending if your site is utf-8 or not. All text from Geeklog is found in these language files. Plugins have their own separate language files. One of the Geeklog Core Developers.

Ben I am also trying on another site the CAPTCHA plugin using the GD library instead of static images. I have also downloaded some other fonts and background images so that the images are generated differently. I want to see if this will make a difference. Using the GD library takes a bit more processing power than the static set but you get more unique images.

Ironmax. Thanks for letting us know that ZZBlock seems to block the attacks. I have used ZZBlock before and while I find it a little too aggressive it does work well with Geeklog and the owner does keep it updated to help against new spam bots and bad IP neighbourhoods.