您的位置:首页 > 其它

图形验证码一定安全吗?自动识别图形验证码

2008-04-24 08:42 525 查看
现在大多数网站都采用了验证码来防止暴力破解或恶意提交。但验证码真的就很安全吗?真的就不能被机器识别??

我先讲讲我是怎么实现站外提交留言到一个网站的程序。

这个网站的留言版大致如下:





我一看这种简单的4位数字验证码,马上就感觉到有戏了。直觉告诉我让电脑来识别这些图片验证码据对简单o(∩_∩)o...

首先我马上在这个页面用右键菜单看源代码




知道验证码获取页面后 你可以直接用 http://www.XXXX.com/imgchk/validatecode.asp 这样去访问你会发现你打开的就是一个验证码图片。




对的其实返回的就是图片文件的2进制流而已。接着先用右键保存一张验证码的图片。因为要开始分析这张图片了,什么用什么工具?PhotoShop????不用就一般的画图工具就可以了。我们要搞清楚的是 这几个数字分别占几个像素就可以了。




可以看出 一个数字5*9 也就是45个像素。恩 这就可以了 另外我们可以看出 默认区域就是白色

(姑且说是白色因为我们肉眼看就是白色)

那么我的程序识别原理就是固定去扫描这45个像素点。看每个点的颜色是不是和默认的颜色一致

一致的话就标记为0 ,不一致就标记为1 。

如一个数子是2 那么我的程序扫描出来的图像就应该是:

011110

100001

000001

000001

000010

000100

001000

010000

100000

111111

如果一个数字是7那么扫描出来的图像就是:

111111

100001

000010

000010

000100

000100

001000

001000

010000

010000

恩,就这么简单呵呵。下面给出图像 扫描的java类 (不好意思,在我会的语言里面除开java就剩sql了)
由于字数限制,更多代码请参考原文!

转载:http://www.java3z.com/cwbwebhome/article/article2/21079.html?id=1866
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: