Skip to content

Commit f64984e

Browse files
jamielinuxCopilot
andauthored
Improve CAPTCHA section in credential stuffing prevention cheat sheet (#1871)
* Improve CAPTCHA section in credential stuffing prevention cheat sheet * Provide some modern CAPTCHA suggestions * Fix captcha suggestions * Update cheatsheets/Credential_Stuffing_Prevention_Cheat_Sheet.md Co-authored-by: Copilot <[email protected]> * Update cheatsheets/Credential_Stuffing_Prevention_Cheat_Sheet.md Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]>
1 parent 5e69bc8 commit f64984e

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

cheatsheets/Credential_Stuffing_Prevention_Cheat_Sheet.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,20 @@ It must be emphasised that this **does not** constitute multi-factor authenticat
5656

5757
### CAPTCHA
5858

59-
Requiring a user to solve a "Completely Automated Public Turing test to tell Computers and Humans Apart" (CAPTCHA) or similar puzzle for each login attempt can help to identify automated/bot attacks and help prevent automated login attempts, and may slow down credential stuffing or password spraying attacks. However, CAPTCHAs are not perfect, and in many cases tools or services exist that can be used to break them with a reasonably high success rate. Monitoring CAPTCHA solve rates may help identify impact to good users, as well as automated CAPTCHA breaking technology, possibly indicated by abnormally high solve rates.
59+
Requiring a user to solve a "Completely Automated Public Turing test to tell Computers and Humans Apart" (CAPTCHA) or similar puzzle for each login attempt can help to identify automated/bot attacks and help prevent automated login attempts, and may slow down credential stuffing or password spraying attacks.
6060

61-
To improve usability, it may be desirable to only require the user solve a CAPTCHA when the login request is considered suspicious or high risk, using the same criteria discussed in the MFA section.
61+
Traditional CAPTCHAs use image recognition or text-based challenges, but have become ineffective against sophisticated bots, create usability and accessibility barriers, rely on behavioral profiling, and may not meet modern privacy standards. In many cases, tools or services exist that can be used to break them with a reasonably high success rate.
62+
63+
Ideally, prefer modern CAPTCHA services that:
64+
65+
- use cryptographic or [proof-of-work](https://en.wikipedia.org/wiki/Proof_of_work) challenges as they make automation economically impractical while requiring little to no input from legitimate users;
66+
- scale the difficulty of the challenge when the request is considered suspicious or high risk;
67+
- comply with accessibility standards (e.g., WCAG, ADA, EAA) and avoid relying on visual or auditory cues that can exclude users with disabilities;
68+
- comply with applicable privacy regulations (e.g., CCPA, GDPR) and do not depend on tracking, fingerprinting, or behavioral profiling;
69+
70+
Modern CAPTCHAs include open source self-hosted options like [mCaptcha](https://mcaptcha.org/), as well as hosted services with an open source client like [Prosopo Procaptcha](https://prosopo.io/) or [Friendly Captcha](https://friendlycaptcha.com/).
71+
72+
CAPTCHAs are one layer of protection, so your credential stuffing prevention strategy should also include MFA, rate limiting, and breached-credential checks.
6273

6374
### IP Mitigation and Intelligence
6475

0 commit comments

Comments
 (0)