【问题标题】:Is there any way to reverse encrypted captcha to plain text [closed]有没有办法将加密的验证码反转为纯文本[关闭]
【发布时间】:2017-08-17 15:23:34
【问题描述】:

我正在编写一个小软件来从网站中提取文本。但是那里有加密的验证码。我想在我的 c# 程序中解密它并绕过它。这是在该页面上找到的加密验证码和相应的普通验证码。

加密验证码:

VFRZWVdLYlRpSUpXN1ZDdU1BcDZiK0lOWFdCTFNtM2cxZFRqb0dlR0txZnlmWHJ2U01OV0hFeW5FYm1YNUloR3JPdHhQaHBFT2tsbwpJbmlSbkxzNmdPblVGc1N0UmdnZDQxVUNHYlJseXFGRkE1d1o5ODNuSGc9PQ==

输出纯文本验证码为:8RTE9

有什么方法可以让我猜出这个加密中使用的算法吗?

【问题讨论】:

  • 如果机器可以轻松读取验证码,为什么还要实现它?
  • 如果您可以轻松解密它,那将不是很好的“加密”。如果它是一个哈希值,它可能根本无法解密。 (在我看来这很可能。)无论哪种方式,如果你想知道某人的验证码是如何工作的,你可能不得不问他们。
  • @mitesh 它可能被网络应用程序用来验证一旦散列,用户提供的值等于这个值,因此允许在文档中没有验证码的情况下进行验证
  • 使用验证码的全部目的是防止您尝试做的事情。
  • 我投票结束这个问题,因为 Stack Overflow 不是“猜猜实现”的游戏。

标签: javascript c# encryption


【解决方案1】:

对此的简单回答是您不能。

无论如何都没有使用你想使用的方法。

验证码存在的原因是为了防止机器执行自动登录,或者只是为了验证用户实际上是一个人。

您将无法在客户端解密验证码。验证码处理很可能完全在服务器端完成。

您无法使用加密密钥,并且“猜测”(蛮力)加密密钥可能会使用传统硬件,直到宇宙热死之后。那就是验证码甚至使用加密。它可能会改用散列(这更有可能)。

至于识别使用的加密/散列算法?如果您可以弄清楚正在使用哪个验证码库,您可能能够确定它是否使用默认值并将其用作创建机器学习数据集的基线。同样,这些都是大 IFS 和 BUTS。

如果它是一个开源验证码库,那么您可以使用机器学习来规避验证码,方法是使用该库为机器学习算法生成训练集。

当然,最终你应该告诉你所在公司的老板,你不能这样做。多年的研究和可能数十万或数百万美元已经投入到创造这种技术上,以防止人们能够完全按照您的建议去做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-09
    • 1970-01-01
    • 2015-04-10
    • 2017-07-15
    • 2015-06-29
    • 2019-04-22
    • 2020-07-08
    • 2011-08-10
    相关资源
    最近更新 更多