为什么总是要输验证码 到底起了什么作用?
- 提问者网友:你独家记忆
- 2021-04-21 00:29
- 五星知识达人网友:山君与见山
- 2021-04-21 02:08
起到你在用什么登陆在那里登陆
- 1楼网友:酒醒三更
- 2021-04-21 04:31
- 2楼网友:持酒劝斜阳
- 2021-04-21 03:05
在计算机安全领域中,相信大家对穷举密码破解和字典密码破解这两个名词一定耳闻详熟了,对于一些黑客或准黑客来说,这是最常用的有效获得别人密码的方法。 在网络飞速发展的今天,网速已不在成为网络访问的瓶颈,在为人们上网提供更快的访问速度的同时也给黑客们提供了更广阔的发展空间,在线破解越来越大地威胁着网络安全。本文就谈谈在网络上,使用附加码的方法阻挡来自HTML页面提交的穷举的方法中的矛与盾。 如果你对网络有一些了解,在你上网的时候你应当被一些页面要求填写附加码的表单才能正常进入你的帐号。更进一步,如果你对安全有一些了解,你一定知道有专门的破解工具可以在线破解别人BBS帐号或在线邮件账号密码的工具,如大名鼎鼎的小榕之朔雪。那么附加码与朔雪类工具软件有什么联系呢?可以简单地说,附加码可以有效防止朔雪对你的攻击。 为什么附加码又有如此威力呢?我们先简单分析穷举的原理。穷举法攻击最重要的一个条件是:密码在攻击期间内不能变化。它总能在所有字母组合中通过不断地“试”直到成功的方法找到真正的密码。所以穷举法也可以叫排除法,和警察排除犯罪谦疑人差不多。那么,能不能在身份验证的时候加入动态的验证内容,使每一次身份验证时都输入不同的验证码来防止类似攻击呢?能!那就是附加码!附加码在WEB服务器上随机产生并记下来,再生成文字传给用户,用户照着手动输入提交,服务器对提交的附加码与记下来的附加码对比一下正不正确就完成了验证。因为每一次产生有附加码是随机的,所以朔雪就无能为力了。 但这也不是说有了附加码就高枕无忧了。那还得看你对附加码的认识和重视程度如何。 想一想,既然WEB服务器都把附加码传给了浏览器,哪为什么朔雪就不能把它读出来自动填上呢?理论上完全可以,只是朔雪没有那样做罢了。 哪不是附加码就没用了吗?也不是,下面我们再来看看什么样的附加码是最安全的。 一、 如果返回的附加码以文本形式返回。这是不管用的一种附加码。攻击者简单提取文本附加码自动填上就可以了。这种附加码对安全一点帮助都没有,反而加大了用户的输入负担。[顺便提一句:我看到有些网站的附加码输入框是密码类型的输入框,输入显示*号,想一想,附加码都显示出来了,还用密码类型的输入框有何用?这是对用户的一种愚弄!] 二、 以图片方式返回附加码。这才算是真正有效的附加码。因为图片是以点的方式而不是字符方式呈现给用户的,朔雪就不能直接读到附加码了。这种方法很有效。但世上的事物总是矛与盾的较量。攻击者还可以用图片识别技术识别图片上的字符,把图片字符还原为文本字符。这是完全可行的。那我们该如何防范呢?加大图片识别难度! 三、 返回加干扰的图片附加码。这才算是真正实用的附加码。如果我们加干扰就可以有效加大图片识别难度。有些网站的附加码是加了干扰点的,有些是变了色的字,等等不一而足。试想一下,如果别人花一秒钟才能识别出图片上的附加码,或者他的识别率不高,那穷举法不是就变得毫无实际意义了?对。但遗憾的是现实中,附加码的干扰要不是没有,要不是干扰强度不够。单纯地加干扰点或变色或变字符的大小等都是不够的。我作了一个测试小软件,它可以识别出现有的90%以上的不同形式的附加码,任何字体,任何字符,任何颜色,任何图片大小均可100%识别成功!可识别JPG,BMP,GIF三种流行格式图片,而我只花了两天功夫就完成了。我试过几个包括腾讯在内的大型网站,结果令人失望,100%的识别率让我大跌眼镜。根据我总结的经验,干扰这样加是最有效的:随机渐变色(包括文字和背景)+所有可打印字符+字符大小随机变化+位置不固定+象素行或列随机错位。这样的附加码要想要破解基本上是不可能了。但别把图片变得连人眼都认不出了。 另外,如果要有效防止在线穷举破解,采用帐户锁定办法是最最有效的一种方法,即在用户输错密码指定的次数后,冻结帐户一段时间,使在线破解失效。 另外,验证码(附加码)最主要的作用还是防范垃圾留言等。 论坛中的验证码的作用 因为你的WEB站有时会碰到客户机恶意攻击,其中一种很常见的攻击手段就是 身份欺骗_它通过 在客户端脚本写入一些代码,然后利用其,客户机在网站,论坛反复登陆,或者攻击者创建一个HTML窗体,其窗体如果包含了你注册窗体或发帖窗体等相同的字段,然后利用"http-post"传输数据到服务器,服务器会 执行相应的创建帐户,提交垃圾数据等操作,如果服务器本身不能有效验证并拒绝此非法操作,它会很严重耗费 其系统资源,降低网站性能甚至使程序崩溃. 而现在流行的判断访问WEB程序是合法用户还是恶意操作的方式,就是采用 一种叫 "字符校验"的技术. WEB网站像现在的动网论坛,他采用达到方法是为客户提供一个包含随即字符串的图片,用户必须读取 这些字符串,然后随 登陆窗体或者发帖窗体等用户创建的窗体一起提交. 因为人的话,可以很容易读出图片中的数字,但如果是一段客户端攻击代码,通过一般手段是很难识别验证码的 这样可以确保当前访问是来自一个人而非机器. 验证码:就是将一串随机产生的数字或符号,生成一幅图片, 图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。 作用: 验证码一般是防止有人利用机器人自动批量注册、对特定的注册用户用特定程序暴力破解方式进行不断的登陆、灌水。因为验证码是一个混合了数字或符号的图片,人眼看起来都费劲,机器识别起来就更困难。像百度贴吧未登录发贴要输入验证码大概是防止大规模匿名回帖的发生。 一般注册用户ID的地方以及各大论坛都要要输入验证码 常见的验证码 1>四位数字,随机的一数字字符串,最原始的验证码,验证作用几乎为零。 2>CSDN网站用户登录用的是GIF格式,目前常用的随机数字图片验证码。图片上的字符比较中规中矩,验证作用比上一个好。没有基本图形图像学知识的人,不可破!可惜读取它的程序,在CSDN使用它的第一天,好像就在论坛里发布了,真是可怜! 3>QQ网站用户登录用的是PNG格式,图片用的随机数字+随机大写英文字母,整个构图有点张扬,每刷新一次,每个字符还会变位置呢!有时候出来的图片,人眼都识别不了,厉害啊… 4>MS的hotmail申请时候的是BMP格式, 随机数字+随机大写英文字母+随机干扰像素+随机位置。 5>Google的Gmail注册时候的是JPG格式,随机英文字母+随机颜色+随机位置+随机长度。 6>其他各大论坛的是XBM格式,内容随机。 验证码的作用:有效防止这种问题对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上是用验证码是现在很多网站通行的方式(比如招商银行的网上个人银行,腾讯的QQ社区),我们利用比较简易的方式实现了这个功能。虽然登陆麻烦一点,但是对社区还来说这个功能还是很有必要,也很重要。但我们还是提醒大家主要保护自己的密码,尽量使用混杂了数字、字母、符号在内的6位以上密码,不要使用诸如1234之类的简单密码或者与用户名相同、类似的密码。 不要因为只是来iclub问问问题,就随意设置密码,保护你自己的密码也是保护你自己,免得你的账号给人盗用给自己带来不必要的麻烦 |