js解密之QQ的bkn值,获取QQ群成员信息,获取QQ好友列表信息

Lan
Lan
2020-05-31 / 0 评论 / 2,160 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2020年05月31日,已超过1425天没有更新,若内容或图片失效,请留言反馈。

QQ群网站:https://qun.qq.com/member.html

image.png

咳咳,没别的,就是想看下群员而已,希望大家拿到信息后,不要忘记你所处之地,虽然只是群信息,没什么隐私资料,本来我只是想获取一下QQ群成员信息,然后我在这个网站转了一下之后,发现不仅可以获取群员还可以获取你的QQ好友列表的一些信息,哈哈然后我准备在这,用我列表的QQ昵称做一张词云图。

首先呢,来到群管理这个页面,一如既往,打开F12,切换到一个QQ群,然后点击XHR,就可以看到一条信息的加载了

image.png

预览一下返回信息,可以很清晰的看见mems只有两个,和真实情况一样,QQ群里面只有我和一个机器人

image.png

然后来看一下请求信息。POST请求,5个值

  1. gc:188185074  //这个数字和群号是一样的,所以应该就是群号了
  2. //By:www.lanol.cn。Author:Lan
  3. st:0  //这个是个0,额,盲猜start,然后人数多就分页显示吧
  4. end:20  //结束的人,两个结合一下就是从第0个到第20个
  5. sort:0 //sort?排序吗,不管了,要用再说
  6. bkn:515469***  //不知道是个什么东西

然后全局搜索一下bkn,然后来到这个文件,格式化一下

image.pngwww.lanol.cn

image.png

再来搜索一下bkn,可以看到有两个结果,然后都打一个断点。

image.png

image.png

然后回到页面,来换一个QQ群。www.lanol.cn

image.png

然后就卡在了第一个断点处,F9看下。www.lanol.cn

这里有个Cookie,然后取Cookie里面的skey。

image.png

然后返回到请求头那块看一看,是不是有一个这样的值。

image.png

然后就可以确定这个e的来源了。www.lanol.cn

t = 5381, n = 0, o = e.length,然后这几个似乎t和n是固定的吧(大概吧,我几次来看是一样的),然后o就是e的长度。然后就是一个循环运算,最后返回2147483647 & t,这个t就是最后一次运算的值了。

然后Cookie的话就是自己手动获取,或者等下次再出一个python登陆QQ的博文

然后将这串不怎么麻烦的加密代码(总感觉有点不太真实)放到Python里面运算一下

image.png

可以看到结果是一样的。

然后这样就可以啦

最后Python代码附上:

def bkn(skey):
    e = "skey"
    t = 5381
    n = 0
    o = len(e)
    # www.lanol.cn By:Lan
    while n < o:
        t += (t << 5) + ord(e[n])
        n += 1
    return t & 2147483647


0

评论 (0)

取消