个人识别码(PIN)码为什么有一万一千种组合?
本帖最后由 Panna 于 2014-6-11 13:41 编辑如果按新手的思路这肯定是不对的,学过编程的人都知道怎么计算这个吧?
0和1两个数,它的十位变化一共有2的10次方1024中变化。
按照这个思路,0-9 十个数字的把位变化一共有多少呢?10的8次方这么多。
这显然就和论坛上的论调不一!本人本着虚心求教的心态,为了求证一下真相GG了一下,发现是这算的!
PIN码分前4和后4,先破前4只有最多一万个组合。破后4中的前3只有一千个组合。一共就是一万一千个密码组合。 10的4次方+10的3次方=11000个密码组合。
看懂了吧?先PJ前面的四位PIN,在PJ后四位PIN中的前三个。在确定最后一位的话也很简单了,0-9挨个试一下就OK了。从这个算法上准确的说,PIN码一共是一万一千一百零一十种组合。
后来又查了一下,说最后一位是校验位。不懂什么是校验位...
所以把上面的划掉了,不能在这里发帖子误人子弟!
在这里直接分享模式好。Anywlan因您更精彩 !!!!! 如有错误,请高手不吝赐教。 哦哦哦哦 哦哦 哦哦 哦哦 哦哦 新手进来学习的,呵呵 简单说就是排列组合 PIN码的第8位数是一个校验和(checksum),因此只需算出前7位数即可。这样,唯一的PIN码的数量降了一个级次变成了10的7次方,也就是说有1000万种变化。
当第一次PIN认证连接失败后,路由器会向客户端发回一个EAP-NACK信息,而通过该回应,攻击者将能够确定的PIN前半部或后半部是否正确。换句话说,只需从7位数的PIN中找出一个4位数的PIN和一个3位数的PIN。这样一来,级次又被降低,从1000万种变化,减少到11000(10的4次方+10的3次方)种变化。
因此,在实际PJ尝试中,最多只需试验11000万次,平均只需试验大约5500次就能PJ。在2小时内PJPIN码是可能。
重点就是PIN失败时路由器的返回信息,泄漏了前4位是否正常,在我看来,这个漏洞相当的脑残,问题是居然是众多厂商持续数年相同的脑残,我甚至怀疑这是故意的。既然他们这么故意,CW吧,骚年!!
最后一位好像根据前7位可以直接算出来的。。。 andy_wsj 发表于 2014-6-11 14:24 static/image/common/back.gif
PIN码的第8位数是一个校验和(checksum),因此只需算出前7位数即可。这样,唯一的PIN码的数量降了一个级次 ...
笨人认为你的想法非常大的切合实际。 ChowLiang 发表于 2014-6-11 14:52 static/image/common/back.gif
笨人认为你的想法非常大的切合实际。
既然第8位是检验和,那么如果明白了校验的算法,则PJ的速度将可能大幅度提高
我是这样认为的,reaver的PIN是是程序在循环中生成的,生成的时候如果自己先校验一遍,如果不符合校验和算法,则直接下一个,如此一来,范围是否会缩小呢?
或者,reaver已经计算了,因为我们看PIN的时候,有时候PIN并不是一个个往上+的
关键校验和是7位的校验和,还是前四位的校验和,或者是后3位的校验和,也可能是前4位的校验和与后3位的校验和合并得出的一个校验和
关键是算法,如果明白了,改一改reaver的代码,看看能否加快速度
我总觉着,真正的黑客手里握着更高效率的PJ工具,而放出来的,可能是有限功能的大众版 最后面一段话说得非常的有道理。。。。。。 andy_wsj 发表于 2014-6-11 18:18
既然第8位是检验和,那么如果明白了校验的算法,则PJ的速度将可能大幅度提高
我是这样认为的,reaver的P ...
你第8位的校验和哪里得来的? xu427 发表于 2014-6-11 19:01 static/image/common/back.gif
你第8位的校验和哪里得来的?
通过前面7位计算而得,但是不同厂家和产品有不同的算法
第8位的算法:
如果pin码前7位分别是:ABCDEFG
第八位=30 - 3 * (A+C+E+G) - (B+D+F)
如果是正数,取结果的个位数,如果是负数,取结果的(10 - 个位数)
例如,结果27,取第八位为7,如果是结果是-27,取第八位为(10-7),即3
这是一种算法,适合腾达某些型号