说明:前端
本人由于学习,恰好想到了此酷..,因此有任何违法的事情 或者其它,请联系本人,,删除本贴,特此公开:,,本人能力有限,不肯承担任何风险算法
源由:浏览器
前些天,看到首页有推 一个帖子名为[某短信轰炸]的例子,因此我也跟着酷狗了来看一发,此注册的例子cookie
工具:dom
js调试工具工具
抓包工具学习
谷哥浏览器测试
1 :先抓一发注册包(直接发送的GET请求)加密
看包内有什么参数(因为抓包时忘记了截图因此直接上抓包后的内容,各位能够亲自用f12看一看,都是大神,我就不补了)spa
包内具体内容:如截图
能够得知发包内主要参数就是mid参数,看长度能够得出是md5加密
2 找mid从哪得出,
1 search mid内容以后,发现mid由cookie中拿到
索性直接找前端写入cook的方法document.write 和 write
2 居然找到了下面这条.能够看出来,这是写入cook的核心算法,
KgUser.Cookie.write(KgUser.KgMid.name, KgUser.Md5(n), KgUser.KgMid.days * 86400, "/", KgUser.GetDomain());
明眼人都能看出来其中的意思
3 找出算法了,,接下来,看其中的MD5传入的n 是什么值,经过下断点的方式,找到了
下面是n 值的算法 ,生成的就是一串UUID的值带入上面的算法中
function a () { function S4() { return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1); // 随机生机数*65536取整,而后转换成16位.并取从第一位的后面的数字,结果为16进制 } return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4()); // 进行字符拼接 } 返回内容:4a6ceb81-0aac-7b50-a1d4-f7890381de6e
4 把这些东西看完了,而后测试了两次,忽然发觉
这个短信接口的逻辑仍是至关简单,全都是固定值,
1 惟独cook须要生成
2 时间戳更新一下
而后: 我特么,shit,这特么cookies随便怎么生成而后传入到短信接口都行啊!
绕我这么一大圈,
5 好的,后来看了一下,其实以为酷狗这短信接口的逻辑仍是蛮容易误导的,不过多调试了几回就发现问题的所在了
6 总结:
步骤其实也很简单
1 生成随机数,(uuID) 2 md5(加密) 生成mid和时间戳 3 带上cookie访问 4 带上cookie发送