【发布时间】: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。但是感谢您的输入:)