-
-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How can we protect against sitekey abuse? #71
Comments
I have the same question. What happens if the request limit is used up, will it still return puzzles? If it just succeeds, from my understanding, an attacker could simply request puzzles for your site-key until the limit is used up and from then on all validations pass automatically? That would effectively make it obsolete to solve puzzles and reduce the spam protection to "downloading X puzzles" (depending on your price plan) instead of solving them. At least it is questionable if the limited request count price plans make any sense in this case. |
This is a valid question for sure, I'll try to provide some context in a list, do let me know if something is missing or unclear:
I hope that clarifies the current situation and a bit about where we are headed. We really do try to be transparent, reasonable and fair. Let me know if you have any follow-up questions (or just make another issue later) - I'll close this issue in a week or so of no new comments :) |
Alright, thas sounds promising to me @gzuidhof ! I guess it could also be stated in the documentation or maybe some Q&A section on the homepage, what you do if the limit is reached. At least I did not find an answer for this case somewhere else. Regarding the origin restriction: I am not completely sure if an origin limitation can solve the (puzzle) request count exhaust, but I also don't know how you plan to implement it. If it is based on the origin header: For me it was important to know, that an attacker is not able to circumvent the puzzle solving. |
At my company we've implemented the following solution: we proxy the puzzle API request through an internal API. The However, the protection of our Two birds, one stone. 😄 |
So the documentation for automated testing recommends to just mock the verification request, but all automated puzzle requests would count towards the limit. Don't you think that this is problematic? |
Hi Steffen, We're happy to think along of course in special situations. Usually the amount of automated requests for integration testing, even if they are hundreds per month, pale in comparison to the amount of legitimate requests (thousands vs hundreds of thousands or millions) - if that is different in your situation then let's find a solution. One clientside solution would be to not request a puzzle in case of your automated test, so you would put a clientside A different solution that doesn't involve code would be to reach out to our support and we can talk about your exact situation more. |
Thank you for the quick reply. We already worked around this by not including the captcha while testing, so that's not a real issue for us. "Note that puzzle requests will still count towards the request quota. To prevent this you can exclude the widget from the page while testing." |
Having an overusage does not solve the problem with the abuse. If someone has targeted one website with the intend to produce costs, this is an easy approach. I wouldn't raise the issue if it did not happen to us (not with friedlycaptcha) before. |
Hi,
We decided to choose FriendlyCaptcha for a current project and are so far very happy, integrates really well!
We also discovered that the request limit counts towards client-side puzzle requests. Initially we thought this limit would apply against server-side validation. It would be cool to explain this limit or just call it "limit of puzzle requests" in the docs, as it is called in the account usage stats 😺
I thought it would be server-wise, so that we can block malicious/suspicious clients after a failed validation and don't use up all our requests client-side.
Now that this is not possible, we are trying to limit the possibility of bots using up all our requests / month in some other way.
What prevents crawlers or bots from requesting a puzzle? Is there any protection against this, which I don't see at the moment? We are using the javascript API and solve the puzzle on page load, so that we can protect our site with an invisible captcha.
Thanks for the cool tool!
The text was updated successfully, but these errors were encountered: