验证码的识别的几种思路

验证码的识别随着时间的变换。进攻方与防守方的技术水平也在不断提高。简单来说就是一个无休止的拳击赛,你当唱罢我方登场。对于hardAI的研究完全没有任何价值。

早期简单验证码的识别,大概思路是通过切割图片然后导入ocr图片识别技术。通过比较验证码的像素点。然后进行验证码的识别。不过随着时间的过度。简单的验证码已经无法从事于过度危险的网络环境。所以在形成了许多人类自己都难以辨识的的验证码。比如说各种各样的干扰线和扭曲。

google公司的验证码提供了验证码防御的一种很好的思路,通过扭曲验证码同时链接。可以很有效的阻止他人验证码的搜索。同时以往的切割验证码的识别对此的研究基本上没有太多的作用。所以可以视为一种安全的验证码。通过神经网络算法不断模拟该类验证码。在此类验证码的库有限的情况下。或许有20的可能性实现。

接着是讨论一种china gov网站大多数使用的不同颜色的验证码。可以通过提取色彩。比如说一个4位验证码。通过提取前五种颜色。然后hash到数组中。通过分辨rgb值分开来

形成新的图像,接着对图像进行读取并识别。在这个过程中需要在图像的位置上加一定标记。然后进行读取。(代码还没研究怎么贴。先发着。有机会把代码贴上去)

然后是12306的网站验证码破解。先是从12306上验证码验证识别框中。切出一定的区域。然后划分为8快。读取图片。传到百度识图的api接口。进行识别。然后识别出来的图片对12306的网站验证码输入。或者执行点击操作。

至于干扰线这种恶心人的验证码。本身人类就不号识别。如果使用图像腐蚀的话。对图像本身的形态结构造成改变。这种需要建立大规模的字库。对此种图像进行识别。而且成功率也仅有49%。

国外的CAPTCHA研究找到一个开源项目/。pwntcha。作者说看到那些卖验证码的太恶心。就把代码公开出来。他实现了许多简单验证码的实现。并对许多复杂验证码的弱点进行了提示。并且实现了许多验证码的高效识别。

链接:http://caca.zoy.org/wiki/PWNtcha

里面详细说明了验证码的识别。不过做这个没有太大的意义。因为以前上信息安全的课上。听老师说中国有那么多黑市。这些数据的获得。很多都可以通过黑客的移库进行操作。本来验证码的目的就是识别你是不是人类。为了保护网站的承载。你非要通过识别的这种手段,很有可能违反法律。更何况验证码识别的进攻方对防守方的实力差距不是一般的大。所以可以放弃这个没有太大利润的项目。


扫描二维码关注公众号,回复: 4662774 查看本文章



猜你喜欢

转载自blog.csdn.net/qq_26925867/article/details/52032367