Sweet-Captcha安全漏洞

时间:2014-04-23 12:08:12

标签: security captcha

我们最近开始在我们的网站上使用用户友好的网站验证码sweet-captcha。在最近一轮安全审核之后,我们发现了一个潜在的漏洞。

此漏洞允许攻击者在成功解决问题后无限期绕过验证码。

我已经尝试联系验证码创建者,但没有得到任何回应。我在这里发帖主要是希望我的实现不正确,因此可以立即获得更安全的替代方案。

根据documentation

,验证码包含在我们的网页中
<?php echo $sweetcaptcha->get_html() ?>

我们的大多数网站都是DHTML以避免重新加载,这使我们了解安全问题如下:

  1. 有人解决了验证码并向我们的php网络服务提交了一个ajax请求,其中包含必要的验证码密钥。
  2. Web服务根据文档验证验证码(请参阅下面的$sweetcaptcha->check),执行一些工作,然后将其响应返回到前端。
  3. 由于前端没有刷新,因此验证码仍然可以解决,显然可以再次使用相同的验证码密钥,以便在初始成功解决后根据需要进行尽可能多的请求。
  4. 要解决此安全问题,我们认为应该执行以下步骤:

    使php web服务中的验证码响应无效,以防止个人使用相同的验证码令牌,例如如果有电话:

    $sweetcaptcha->check(array('sckey' => $_POST['sckey'], 'scvalue' => $_POST['scvalue']))
    

    返回true,它应该在使用相同参数的所有后续评估中返回false。那没有发生。即使我们可以实现我们自己的后端解决方案来防止重复验证,但如果情况应该如此,那么最好在验证码现有代码中解决。

    如果有人可以就上述问题提出建议,我将不胜感激。

0 个答案:

没有答案