网络爬虫-cnzz网站统计(umuuid参数加密破解)

总体来说算是比较easy的js加密 由于涉及到部分隐私 就简单说下该参数的加密思路

马蜂窝为例 该网站使用的是CNZZ统计流量


首先抓包看参数,如图

在这里插入图片描述

可以比较清晰地看到 cnzz的统计是发起的这个get请求
然后看下这些参数 我们不确定的参数有 id / cnzz_eid / umuuid / rnd ,除了这几个 其他的应该都是常量或者可以轻易伪造的 如时间戳以及屏幕大小等
为了搞清楚这几个参数的来由 我们可以再次刷新页面重新抓一次包(可以换个浏览器)看看有什么变化

在这里插入图片描述

可以看到 变化的有 cnzz_eid / umuuid / rnd 这几个参数 其他的都是不变的常量了(时间戳那个有变化 可以不用管 比较明显的) 于是接下来需要做的就去网站上看js看源码 逆向解析这几个参数!

cnzz_eid:

在这里插入图片描述

rnd:

在这里插入图片描述

umuuid:

在这里插入图片描述

可以在网页的js源码里轻易地找到这几个参数生成的方式,这里重点讲一下umuuid,其他两个参数都比较容易地直接用python重写,这个参数需要用到pyexecjs来模拟,并且经过测试,主要也是由这个参数来决定你的这次伪造是否有效。

在这里插入图片描述

先下个断点,可以看到this.a.R这个参数就是我们要的umuuid,然后去追溯它的来源

在这里插入图片描述

这里可以看到a一开始是一个空的集合,它的值是后续的js赋值上去的,继续找a.R

在这里插入图片描述

这里可以看见a.R是通过Ba这个方法生成的,我们用node.js模拟运行一遍,把该复用的方法全部剔出来,把document和window操作全部替换调即可。

在这里插入图片描述

OK 大功告成

Ending

Github传送门

持续更新ing (欢迎各种star与fork)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章