Solved

Preventing Credit Card Form Abuse Captcha Solution

Posted on 2011-02-16
3
435 Views
Last Modified: 2012-05-11
We have a donation form on our charity site. We would like to accept donations without requiring users to set up an account. We have PayPal set but we also have a form for entering credit card info. Previously we had a very difficult captcha. Later we changed this to human readable question, e.g. "is the sun hot or cold"  (answer, cold) We have about 15 questions that a called by random. But it is being hacked. Someone keeps using the form to test credit cards, charging $1 to $50.00 onthe same and different cards. Obviously he is testing and when one goes there he use it to purchase things  or whatever.  So we need to set up again, a strong defense for this abuse, but we are not sure the best method. Some new captcha methods are good, but so difficult that you have to be an artist or super visual brain to do them. We want a system that works, but will not  be so hard as to cause resistance to users to donate.
0
Comment
Question by:Sivakatirswami
  • 2
3 Comments
 
LVL 12

Accepted Solution

by:
Amick earned 500 total points
ID: 34915365
The simple captchas with very readable text obscured by a randomly spaced grid pattern seem to be useful  because they're easy enough for humans while difficult enough for computers.  Be certain that your captchas are randomly generated, not generated once and reused.  You should also avoid any tell-tale in the captcha object that would provide a hacker with a clue. Captchas do reduce response rates, sometimes very significantly, so perhaps a better method would be to capture the user's IP address and programatically insert a wait that increases with frequency of use. The first attempt from an IP within a chosen time frame would result in no wait, but the next attempt would insert a half-second,  subsequent attempts would double the wait time until some maximum has been reached. While you have the IP, you may also want to look up the point-of-origin. A local charity in Honolulu may be wary of connectons from the other side of the world. It would be good to be able to report the most frequently used IPs (this information is probably already in your server logs) and if you can tie them to incidences of fraud or abuse, you may want to blacklist those addresses.  

If you make it difficult or time-consuming for a dishonest user to abuse your site, they will go somewhere where it is easier to get the result they're after.  Unfortunately, if you make it difficult and time-consuming for a good donor to use your site, they too may go elsewhere.

Good luck.
0
 

Author Comment

by:Sivakatirswami
ID: 34918084
@amick Thanks for the very clear advice. I asked the accounting team (who see the charges being made) the time between charges. sometimes it was a few minutes. So, I have heard of the IP wait, but we don't think it will help. Either he was running dictionary attacks on the form (to get words that would answer our human readable questions)  which would take some time (until he had the answers and logged those and then he could reduce his dictionary to the answers that worked before)  OR he was manually sitting there madly filling in the form and entering CC numbers by hand. Hard to know... We took down the form, but forgot to disable the CGI, so he already had a copy of our form and continuing POSTing directly to the CGI without going thru our form, we finally had to turn disable the CGI itself.

I found another system we are going to try: it generates a random set of colored digits that are relatively easy to read along with a MD5 hash string in a hidden field that must be submitted back along with the form.

So this will a) be relatively easy for users to see and enter but b) impossible to attack programatically. (we think)

So, this will leave him no choice but to manually fill in the form. Hopefully this will reach critical mass for "difficult and time-consuming..."

we will see

0
 
LVL 12

Expert Comment

by:Amick
ID: 34918580
It sounds as if you've got a good plan for the challenge.

If this were my site, I would keep an eye on the "top IP" reports from my web server, and archive the server logs.  Also, don't hesitate to get the authorities involved - In the US wire fraud is a Federal offense, but the penalties range from a fine and probation to several years in prison depending upon the severity of the crime and the history of the offender.  There is a website that accepts reports of Internet crime, http://www.ic3.gov, and there may already be a wealth of information available from the FBI to help you prevent further attacks.

It is good that you are taking the problem seriously, and with a combination of luck and skill you'll have this problem controlled very soon.
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
How to improve security of a wordpress site? 7 69
Malwarebytes Business Solution 4 80
blocking vbs 2 118
iOS vulnerability (9.3.5) 5 92
SHARE your personal details only on a NEED to basis. Take CHARGE and SECURE your IDENTITY. How do I then PROTECT myself and stay in charge of my own Personal details (and) - MY own WAY...
If you're not part of the solution, you're part of the problem.   Tips on how to secure IoT devices, even the dumbest ones, so they can't be used as part of a DDoS botnet.  Use PRTG Network Monitor as one of the building blocks, to detect unusual…
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question