Toggle navigation
科创
{{ getSearchSuggestionLabel(suggestion) }}
{{ part.text }}
查看更多
登录
 
注册
电波
论坛
专栏
应用
登录
注册
{{ getSearchSuggestionLabel(suggestion) }}
{{ part.text }}
查看更多
论坛
>
计算机科学
>
软件综合
文号
t7504
阅读
9687
回复
5
收藏
5
【密码学相关】百度验证码的相关解析及探究
我说要有光
2008/09/06
软件综合
IP:河北
百度贴吧中的验证码钥匙被称为BS,这个名称的由来来源与其贴吧源代码中的一个隐藏提交数据<input type=hidden name=bs value="*************************">,这段字符串由百度贴吧的发帖或回帖界面提供,与它相对应的是两个值,既str2和word1,其中word1为手工填写的验证码内容,str2为防止伪造BS的一个对应参数,它在爆吧的环节中起到一个重要的作用,就是收集到足够的BS后同时发出,可以达到一瞬间刷满屏幕的效果
首先现在BS最后32位是类似16进制的字符串
去掉这最后的32位后,是一串带有很多3的
比如13935303236323这样
这些3是干扰,要去掉
处理后的字串,第一位固定为1,第二位代表一个长度,比如5,那么后5位就是这个吧的lm值。之后一段是由获取这个BS的Ip计算出的,也就类似封IP时的那个参数。再后面一段是个随机数。再后面是0000000012564123这样,是当前时间,以秒为单位
比如
313531383831363130393033393337313731303832333437343536303030303030303030303030303031323230363434343231B236CF43CF23960E945076B042249072
去掉最后32位是
313531383831363130393033393337313731303832333437343536303030303030303030303030303031323230363434343231
去掉干扰3
151881610903937171082347456000000000000001220644421
分割
1 5 18816 10903937 171082347456 000000000000001220644421
第一段固定是1
第二段是5,表示第三段长度为5
第三段是lm值,这个是123吧的lm值,没有建立的贴吧lm值为0
第四段是已经被加密的我的IP地址
第五段或许是随机的
第六段是现在的时间戳
下面是百度贴吧中的一段源代码,其中有一个函数叫fr_as_js_tr,它通常由101~110的数字和0x0fffffff以及一些数学运算符组成,同样由百度贴吧的发帖或回帖界面提供,它返回的值既str2,每个str2对应着一个BS,这导致了伪造BS不可行
function fr_as_js_tr(){ return ((((((((((0x0fffffff&110)|108)&102)^105)&105)|108)&109)&109)|103)|103);}
以上这些已知资料是我在百度玩爆吧的一个朋友总结出来的,但这些还远远不够
因为现在每个BS的寿命大概为15分钟,并且仅仅对应一个贴吧(lm值),这使得长时间的挖坟或爆吧不可行,对IP的限制同样使代理服务器的方案失效,所以我们现在希望能够通过探究bs(验证码钥匙)、word1(验证码)、str2(BS防伪造串)之间的关系让爆吧这种古老的游戏重新变得有趣起来,但以我们目前所掌握的数学及密码学知识还无法解决这样一个问题,所以希望得到这里的高手们的协助
以下是百度贴吧的一段源代码(尚未创建的贴吧,lm = 0)
来自:
计算机科学
/
软件综合
5
0
全部
只看作者
shuimi126
18年4个月前
IP:未同步
43109
1楼
强的没话说!
加载全文
引用
评论
0
AnthraX
18年4个月前
IP:未同步
43117
2楼
百毒的验证码貌似不是那么花哨,采用ocr的方法好了……
加载全文
引用
评论
0
93°
18年4个月前
IP:未同步
43119
3楼
LS所言差矣
百度验证码识别我研究了很久
OCR技术我也有,一度接近成功
但是最重要的问题就是:百度的验证码是全部黏在一起的,这使得无法切分,自然无法识别。不想某些网站的验证码,有一点点分开,我也可以根据曲线和其他参数轻松搞定,就一个字:贱
加载全文
引用
评论
0
noname剑人
18年4个月前
IP:未同步
43161
4楼
对于验证识别不在行
膜拜+学习
加载全文
引用
评论
0
全部
只看作者
在列表中查看
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
编辑
删除
{{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
保存
取消
我也是有底线的
保存中...
保存