- 浏览: 226227 次
- 性别:
- 来自: 深圳
最新评论
-
xqying90:
啥子哟~
div屏幕居中的方法 -
ydc919:
JavaBeansDataExchange could not instantiate result class -
yongtree:
也太不全了啊,js呢
jquery选中单选框、复选框、下拉框 -
awindbird:
希望好用。
android ERROR: unknown virtual device name -
fangwei:
xgj1988 写道 有何高见
div屏幕居中的方法
转载自 RAyh4c的黑盒子 http://hi.baidu.com/rayh4c/blog/item/d0446a092fa056cf3ac7637c.html
这篇文章是一些关于用初等数学的方法来使一些验证码无效的简单介绍。切入正题之前先八卦顺带科普一下。其实关于这方面的话题原来不是安全方面的内容,不过是由于验证码挡住了暴力破解的路子,所以我们要把这颗讨厌的石头给踢开。另外,文中提到的一些例子实际上是低估了算法的能力,这是人为造成的漏洞。同时我们可以借这个机会,看看当前在各个大网站里,部分做技术的人到底有什么样的水平,也算是提高一下自己的自信心。最后,关于这类东西,有些部分涉及到测试的问题,比如Model checking和自动化检测等,如果有朋友以后读这方面的研究生,做做这方面的工作也是挺有趣的,至少论文比较容易出。
小知识:本文所讲的“验证码”是指在网络上确定身份、防止暴力破解、DOS攻击的一种技术,解释起来比较麻烦,实际上上网的朋友都遇到过:动网最新论坛输入账户和密码后并不能直接登陆,还需要输入一串数字验证码;网上银行输入账户和密码也不能正确登陆,还需要输入另一串数字,而这些数字就是本文所讲的验证码中的一种! 在此郑重申明的是:作为作者的我不为这些东西负责,我把铁矿石炼成了钢片,你如果安上刀把用它去杀人,那可就是你自己的事情了!
简单应用
脚本小子:这里其实是相当聪明的做法,由于计算机和算法能力的限制,模式识别和人工智能一直没有很大的突破性的进展,验证码就是有效的利用了计算机不能做到而人能够轻易作到的事情来分辨人与机器,尽管某校友录的技术或者管理人员并不知道个中原理和细节,但是他们还是聪明的用了这一种方法。
客观地说,有好多事情其实想法本身是很好的,不过在具体做的时候,却由于技术或者理解上的原因弄得很糟糕。空口无凭,让我们来具体分析一下,看看这个校友录的验证码到底强壮性如何。
这是很容易理解的,比如我们拿着照片看人,照片是新照的,不过现实中的人脸上不巧被蚊子咬了一个疙瘩,我们这样比较依然是没有错的,因为我们以相片为基准,相片上有的两个眼睛一个鼻子一个嘴巴都和待辨别的人脸上的器官能够完全吻合,尽管多了一个蚊子疙瘩,我们还是有理由认为他就是照片上的人(多说一句,只满足了必要条件),但如果我看到的人是个三只眼睛的,显然能够判定不是。也就是说,加入噪音以后,匹配的图案只是经验上能肯定,但不匹配的图案是能准确判定的,去伪之后,自然是存真。对于这个的证明,离散数学中第一章有个析取三段论,有空可以翻翻,这里就不写了(脚本小子:记忆尤深的一章,想当初每次考试前都信誓旦旦的要复习,但书总是翻不过这一章。历次考试莫不如此……)。
脚本小子:这里简单的解释一下,GIF文件以LZW压缩算法把二维的图像进行压缩,原始图像上的每一个像素对应解压后的GIF数据中的一个数字(索引)。这个数字并不是原始图像的值,而是对应的一种颜色的序号,在还原的时候要通过这个值去查GIF文件头中定义的颜色(调色盘),然后再进行显示。打个比方,比如数字是1,查到的颜色是#CCCCCC#,那么这个地方应该显示灰色——查了好久才找到的东西,累个半死。 背景的索引是0,噪音的索引是1,而数字轮廓的索引是2,它们是分开的。
OK,简单的说一下危害。这里这个地方危害很小,最多也就灌灌水什么的,或许有些别有用心的人会弄点“怎么利用网络赚大钱”等东西大量地往上面帖,但危害都不怎么大,就象黑防论坛长期都在删这样的帖子一样。
|
发表评论
-
Java security KeyStore Cipher
2011-12-23 07:42 1380http://docs.oracle.com/javase/7 ... -
DirectInfo.GetFiles 排序
2011-10-19 15:50 2036The order in which this funct ... -
linux 实时观察文件行数变化
2011-09-16 17:48 2058#watch --interval=1 wc -l 20110 ... -
org.apache.poi 读取 excel xls xlsx
2011-08-30 09:56 8624http://poi.apache.org/download. ... -
mysql 列转行 GROUP_CONCAT
2011-08-09 18:36 3048GROUP_CONCAT(expr) 该函数返回 ... -
MMS 多媒体短信服务 彩信
2011-06-02 14:54 1364MMS为Multimedia Messaging Servic ... -
SMS的体系结构
2011-06-02 14:29 1622GSM标准中定义的点-点短消息服务使得短消息能在移动台和短消息 ... -
C# 事件 EventHanlder
2011-05-25 11:26 1043using System; public class ... -
linux shell 根据目录拼出 java classpath
2011-03-28 11:21 1204#ls /demo/lib a.jar b.jar ... -
apache resin 端口关联
2011-03-13 15:24 952/etc/apache2/httpd.conf ResinC ... -
ubuntu 用户相关
2011-03-12 10:06 0修改用户默认组 usermod -g sms fangwei ... -
传递带空格的参数给linux shell中的java命令
2011-01-14 17:23 3837比如说 $ test.sh "2011-01-01 ... -
ubuntu server版配置关闭系统自动更新
2011-01-11 16:37 4322修改/etc/apt/apt.conf.d/50unat ... -
tomcat配置https ssl
2010-12-14 22:09 1101生成证书文件.keystore E:\>$JAVA_H ... -
junit4定义测试集TestSuite Declaration
2009-09-11 12:26 4971转载自 Joe Ocampo http://ww ... -
jquery选中单选框、复选框、下拉框
2009-09-10 14:39 6315转载自 jquery1.3中文参考 http:// ... -
使用<!-- //-->这样的html注释把js代码注起来的作用
2009-09-02 22:18 4856一直不明白用eclipse代码提示功能生成<script ... -
log4j布局PatternLayout详细手册
2009-08-22 10:02 1833转载自 log4j官网 http://logging. ... -
Runtime.getRuntime().exec(cmd)的超时处理
2009-08-17 18:22 4227在使用Runtime.getRuntime().exec(cm ... -
从结构化编程到面向对象编程
2009-08-11 18:08 1237本文所讨论的话题 通常在一个业务系统中会有各种不同的角色,而 ...
相关推荐
Java后端产生验证码后台验证功能的实现代码 Java后端产生验证码后台验证功能的实现代码是指在Java后台生成验证码,并对其进行后台验证的功能。本文主要介绍了Java后台产生验证码后台验证功能的实现代码,结合实例...
通过以上步骤,我们可以在Java Web应用中实现一个基本的验证码验证功能。Servlet负责处理HTTP请求,session用于在服务器端存储验证码,而画板对象则帮助我们在图像上绘制随机字符,生成可视化的验证码。这个过程涉及...
在JavaWeb开发中,实现邮箱发送验证码功能是常见的需求,主要应用于用户注册、密码找回等场景,以确保安全性和合法性。下面将详细讲解这个过程涉及的技术点和步骤...确保正确配置并理解这些步骤,就能顺利实现该功能。
在这个“SSM实现登录验证码功能”的项目中,我们将探讨如何在SSM框架下添加验证码功能,以增强用户登录的安全性。 首先,验证码功能的基本目的是防止恶意自动化程序(如机器人或爬虫)进行非法操作,如频繁尝试登录...
本文将详细介绍如何使用Vue框架来实现滑动验证码功能,为读者提供一个实现前端校验验证码的实例。 首先,我们要了解验证码的基本原理。验证码分为前后端校验两个阶段。前端校验主要防止自动化程序(机器人)进行...
在这个场景中,我们关注的是在ASP.NET MVC中实现验证码的功能。验证码的主要目的是防止自动机器人或恶意用户进行非法操作,例如垃圾邮件提交、恶意注册等。下面将详细讨论如何在ASP.NET MVC中实现验证码。 首先,...
在AspTest2这个文件中,可能包含了实现上述验证码验证功能的源代码,包括生成验证码、显示验证码、接收和验证用户输入的验证码等相关逻辑。通过分析和学习这些代码,开发者可以理解验证码验证的具体实现细节,以便在...
在这个“易语言验证码拖拽滑动验证源码”中,开发者@大司命提供了一种实现验证码拖拽滑动验证的方法。这种验证机制常用于网络安全领域,以增加网站或应用的安全性,防止自动化程序的恶意操作。 验证码通常由随机...
总结,JSP和JavaScript在验证码实现中分别负责后端图像生成和前端用户输入验证。理解这两部分的工作原理有助于构建更安全、用户体验更好的Web应用。同时,对于防止自动化攻击,还可以考虑结合其他策略,如时间限制、...
本篇文章将深入探讨如何在Android平台上实现验证码功能,包括自定义控件的创建和验证码的生成与验证。 首先,验证码的主要目的是防止恶意机器人或自动化脚本进行非法操作,如批量注册、刷票等。在Android应用中,...
实现了验证码倒计时的功能 1.以下验证码例子采用的是先获取手机号文字验证码,如果文字验证码收不到,将采用语音播放验证码的形式,两种形式的结合,基本避免个别手机号收不到的问题,从而是验证码的成功率接近100%...
PHP快速生成图片验证码并且实现验证插件 1.插件作用: 本插件可以快速实现网站验证码功能,包括验证码的生成和验证。 2.所需参数: CaptchaTool类包括两个方法,generate方法可以实现生成'...
在Java JSP(Java Server Pages)中实现验证码功能,主要涉及以下几个关键知识点: 1. **随机字符串生成**: 验证码通常由一组随机字符组成,可以是字母、数字或两者混合。在Java中,我们可以使用`java.util....
Android实现获取短信验证码的功能以及自定义GUI短信验证,对应文档链接http://blog.csdn.net/u012532559/article/details/51027136;代码为平时测试demo,还附加了自定义等待框以及阿里iconfont的使用
生成图形并添加验证码实现验证功能 FROM:新浪博客【林雪在奋斗】 1123今天贴一个简单图形生成验证码的代码出来【php编程之路】 如在学习php中遇到问题,可投邮件址:xuelinweb@hotmail.com 或许我们可以一起讨论并...
本教程将详细讲解如何利用免费短信验证码SDK来实现这一功能。短信验证码是一种通过发送带有随机数字或字母的短消息到用户手机,然后让用户输入以验证其身份的方法。这种方法既能有效防止恶意注册,又能降低欺诈风险...
总之,ASP.NET结合C#和System.Drawing能方便地实现验证码功能,有效地保护了网站免受自动化的恶意攻击。在实际开发中,还可以根据需要添加更多安全特性,比如时间限制、滑动验证码、声音验证码等,进一步提高系统的...
总的来说,这个C#滑动验证码项目涵盖了前后端开发、数据库设计、安全性策略以及用户体验等多个方面,是理解Web应用中验证码实现的一个实例。通过深入研究这个项目,开发者可以了解到如何在实际项目中实施类似的安全...
实现滑动验证码(后端验证) 滑动验证码是指用户需要通过滑动图片来证明自己不是机器人的一种验证码方式。LazySlideCaptcha是一个基于.Net Standard 2.1的滑动验证码模块,提供了一个基于Vue 2的演示前端组件和背景...
在本项目"JavaWeb练手-实现登录注册(含验证码和表单验证)"中,主要涉及了几个关键的JavaWeb开发技术,包括Servlet、HTML、JSP以及验证码和表单验证的实现。以下是这些知识点的详细说明: 1. **Servlet**:Servlet...