说明:
本人因为学习,刚好想到了此酷..,所以有任何违法的事情 或者其它,请联系本人,,删除本贴,特此公开:,,本人能力有限,不愿承担任何风险
源由:
前些天,看到首页有推 一个帖子名为[某短信轰炸]的例子,所以我也跟着酷狗了来看一发,此注册的例子
工具:
js调试工具
抓包工具
谷哥浏览器
1 :先抓一发注册包(直接发送的GET请求)
看包内有什么参数(由于抓包时忘记了截图所以直接上抓包后的内容,各位可以亲自用f12看一看,都是大神,我就不补了)
包内具体内容:如截图
可以得知发包内主要参数就是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发送