【问题标题】:PHP - Answer Captcha through cURL GET/POSTPHP - 通过 cURL GET/POST 回答验证码
【发布时间】:2014-10-26 17:10:30
【问题描述】:

想象一下外部站点上的这个验证码:

 <img id="sec-string" onclick="reLoadCaptcha(this);" src="captcha.jpg?random=4850737809844572943" alt="Try another" title="Try another">

现在我读取并存储“随机”的值,在本例中为“4850737809844572943”。 这是通过 cURL GET 完成的。 所以现在我可以通过 img-tag 在我的网站上显示图像。 使用输入字段,我可以输入 anwser。

 <input type="text" name="captchaInput" value="" id="captchaInput" class="small" autocomplete="off" onpaste="return false;" maxlength="16" tabindex="1" required="required" placeholder="Enter the characters">

现在我将它作为 cURL POST 连同其余的表单数据一起发回。 var-dump 显示正确的字符串,但结果是 "Wrong Captcha"

其余的表单数据是有效的。事实上,Captch Input 也被正确发送。 它只是不被接受或被视为错误。

有什么可以中断执行的想法吗?

谢谢

编辑:

我想到了我网站上的 2 个 cURL 执行。 首先是从外部页面获取 cookie、会话、表单元素等数据。 其次是将我在我的页面填写的数据发布到外部页面。 那么这算作 1 或 2 个实际的站点请求/操作吗?!

我的意思是因为验证码及其实际情况。

想法?

【问题讨论】:

  • 你为什么要在你的网站上转发别人的验证码?
  • 所以可以解决...我尝试一些个人感兴趣的东西。没有公共代码,或我想公开的代码。我不想杀死验证码。我只想从外部站点通过人工输入正确解决它。
  • 然后只需加载他们的页面并解决验证码。
  • 该页面可能在您加载时设置了一个cookie,并要求在解决验证码时返回该cookie值。
  • Cookie 导出和导入工作正常!如果没有 cookie,我会得到 403 Fordbidden。但是感谢您的输入:)

标签: curl captcha


【解决方案1】:

我终于解决了。

问题确实是有 2 个 cURL 请求。 而且我没有将它们分成 2 个函数,因为我的脚本是单文件的。 有点逻辑,但我花了一些时间才意识到这一点:)

所以现在当 URL 中没有 GET 数据时发送 GET-Request。 以及 POST-Request,如果 URL 中有 GET 数据。

在发生图片重新加载之前,因为 GET-cURL 在 POST-cURL 之前再次执行。

验证码完成!

【讨论】:

  • 但作为一个附带问题:我想知道如何停止这种工作方式。我的意思是保护自己免于使用这种访​​问方式,例如注册表单。通过更多的工作,代理系统和漂亮的团队模板,有人可以很容易地滥用这种技术来伪造网站,诱骗用户访问该网站,让他们创建真实的真实帐户并记录它们,如果人们使用假网站注册.. . 一定有办法否认它,或者?
  • 好吧,我结束了这个问题,当它让我(+6 小时)如果你想出信息,在那之后,如果你给我发私信,我会很高兴:)
  • 你怎么能理解什么时候有 GET curl .. 在我的脚本上我做了这件事。 :首先我卷曲一个登录页面,然后扫描它以查找 __VIEWSTAT 之类的 asp.net 变量,然后再次卷曲登录页面,其中包含我之前收集的帖子数据,我手动设置了验证码,因为它在会话中长时间保持不变。但不工作,它给我一个错误,说验证码是错误的。我现在该怎么办?
  • 如果有post/get数据,可以使用PHP扫描。所以只需将您的 curl-post 请求包装到一个表单中,然后该表单会将所有数据也发布到您的本地 url。现在您可以使用“if (isset($_GET['abc']))”之类的东西来查看脚本是第一次运行(没有发布数据)还是第二次运行(有发布数据)。这样你就可以拆分 2 个 curl 请求,而不是在 1 个调用时同时运行。
猜你喜欢
  • 2014-02-11
  • 2015-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-27
  • 2013-01-29
相关资源
最近更新 更多