资源描述:
《解密验证码技术.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、解密验证码技术目前,不少网站为了防止用户利用机器人自动注册、登录、灌水,部采用了验证码技术。所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰彖素(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功品才能使用某项功能。这不,我们军团论坛,也搞这个把戏了.搞得昨天晚上,我都不能发帖,运行了几次补丁,然麻重新启动ie依然看不见验证码,怀疑我的机器安全措施太高,果然发现我禁止修改注册表.改禁后,问题依然,没有办法,只好手工了.问题得解.很多朋友对验证码有疑问,备大论坛的用户
2、也对验证码I-分讨厌,觉得麻烦,下面我们来解密这个东东.还是我的风格,通俗透彻,一分为几,逐步解答•下面我们开始:最初的验证码,只是几个随机生成的数字。但是道高一尺魔高一丈,很快就有能识别数字的软件了,“收藏家”们利用这种软件批量获取帐号,或是探测密码,因为软件可以不知疲倦地不断submito于是,出现了图片形式的验证码,还要加上无规则的背景,既然人眼祁难以分辨,想来软件分辨起来就有一定的难度。但是腾讯开始采用汉字图片做验证码,是不是惠味着破解验证码的技术又有了新进展,带背景的数字或字母图片形式的验证码,也可以被软件分
3、辨了?值得说明的是:验证码不同于注册码,注册码是软件作者根据提交的机器码通过特殊算法算出的,能让软件正常运行的密码。一•常见的验证码1,四位数字,随机的一数字字符串,最原始的验证码,验证作用几乎为零。2,CSDN网站用户登录用的是GIF格式,目前常用的随机数字图片验证码。图片上的字符比较屮规屮矩,验证作用比上一个好。没有基木图形图像学知识的人,不可破!可惜读取它的程序,在CSDN使用它的第一夭,好像就在论坛里发布了,真是可怜!3,QQ网站用户登录用的是PNG格式,图片用的随机数字+随机大写英文字母,柴个构图有点张扬,每
4、刷新一次,每个字符还会变位置呢!有时候出来的图片,人眼都识别不了,厉害啊…4,MS的hotmail屮请时候的是BMP格式,随机数字+随机大写英文字母+随机干扰像素+随机位置。5,Google的Gmail注册时候的是JPG格式,随机英文字母+随机颜色+随机位置+随机长度。6,其他各大论坛的是XBM格式,内容随机。二.验证码作用分析验证码起源:因为攻击者会使用有害程序注册大量的Web服务帐户(如Passport)o攻击者可以使用这些帐户为其他的用户制造麻烦,如发送垃圾邮件或通过同时反复資录多个帐户来延缓服务的速度。在大多数
5、情况下,门动注册程序不能识别此图片中的字符。简单的说呢,就是防止攻击者编写程序,自动注册,重复登录暴力破解密码。验证码技术应运而生。验证码实现流程:服务器端随机生成验证码字符串,保存在内存中,并写入图片,发送给浏览器端显不,浏览器端输入验证码图片上字符,然麻提交服务器端,提交的字符和服务器端保存的该字符比较是否一致。一致就继续,否则返冋提示。攻击者编写的robot程序,很难识别验证码字符,顺利的完成自动注册,登录ooocooooo而用户可以识别填写,所以这就实现了阻扌当攻击的作用。而图片的字符识别,就是看图片上的干扰强
6、度了。就实际的效果来说,验证码只是增加攻击者的难度,而不可能完全的防止。1,论坛中的验证码的作用目前,不少网站为了防止用户利用机器人自动注册、登录、灌水,都采用了验证码技术。所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰象素(防止0CR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功品才能使用某项功能。因为你的WEB站有时会碰到客户机恶意攻击,其屮一种很常见的攻击手段就是身份欺编它通过在客户端脚木场入一些代码,然后利用其客户机在网站论坛反复登陆,或者攻击者创建一个HTML
7、窗体,其窗体如果包含了你注册窗体或发帖窗体等相同的字段撚示利用“http-posf传输数据到服务器,服务器会执行相应的创建帐户,提交垃圾数据等操作,如果服务器木身不能有效验证并拒绝此非法操作,它会很严重耗费其系统资源,降低网站性能甚至使程序崩溃.而现在流行的判断访问WEB程序是合法用户还是恶意操作的方式,就是采用一种叫“字符校验“的技术.WEB网站像现在的动网论坛,他采用达到方法是为客户提供一个包含随即字符串的图片,用户必须读取这些字符串,然后随登陆窗体或者发帖窗体等用户创建的窗体一起提交•因为人的话,可以很容易读出图
8、片屮的数字,但如果是一段客户端攻击代码,通过一般于段是很难识别验证码的•这样可以确保当前访问是来
9、'
10、一个人而非机器.编程实现原理:使用某种动态编程语言,比如PHP,ASP,随即生成一个随机数,大多为4位数字和字母,或者是数字和字母的纟H•合,生成以示,用GD库的支持生成一张根据随机数来确定的图片,把随机数写入到session屮,