尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

瑞数六思路

瑞数六思路 我逆向的是一个甘肃的网站网站链接aHR0cHM6Ly9memdnLmdhbnN1Lmdvdi5jbi9memdnL3R6Z2cvbGlzdC5zaHRtbA这个网站是由瑞数防护的。我们打开控制台点到应用可以看见这里有两个 cookie一个是 O 开头的还有一个是 T 开头的。这个 O 是由第一次请求返回的 cookie然后这个 T 是根据第一次请求返回的数据生成的新 cookie。有的 cookie 是 S 跟 T只要看见这两个基本上可以断定这个网站是瑞数六了。1、打开控制台我们找到返回真实数据的链接。我们发现它的请求链接参数经过处理如下图。但是我发现这个网站可以不对它处理直接请求真实的链接携带正确的 cookie 也可以拿到正确的数据所以没有深究这个参数加密逻辑。2、我们想要知道这个真实的请求参数是什么也非常简单因为这个网站没有无限 debug。我们直接跟栈打开堆栈进入下面这个栈打上断点然后点击翻页就断在了第二张图。将鼠标悬浮在上面就可以查看到真实的请求参数格式了/common/search/203df409225e451a8ebf743d3f176ed3?_isAggfalse_isJsontrue_pageSize20_templateindex_rangeTimeGte_channelNamepage13、在这之后我们就需要知道这个本地是如何生成 cookie 的。因为本地的 cookie 是通过脚本生成的我们先把本地 cookie 清除在事件监听这里将脚本勾上再刷新页面。4、我们在刷新后先去查看第一个请求为 412 的链接。源码当中的 content 我们需要将它保存下来在后续生成 cookie 的时候会用到。还有这个 js 代码这个 js 代码就是打上脚本监听后断住的 js 代码这个在后续也要用于生成 cookie。5、我们在断住的脚本监听这里放开第一个断点就到了第二张图的位置。这个 js 是生成 cookie 的核心代码我们将它拷贝到本地。拷贝进本地时不能格式化因为瑞数会对这个格式进行检测我们只需要点击左下角的 {} 就可以去除格式化。6、我们现在已经拿到了瑞数生成本地 cookie 的核心数据了一个 content一个第一次返回 412 的 js 代码还有一个核心的生成 cookie 的 js。拿到这三个数据后我们就可以本地生成 cookie。瑞数会对运行环境进行环境检测我们必须根据代理补环境。代理可以在网上搜一个或者直接去 GitHub 上找一个下来。env 是补环境的代码ts_data 是第一次返回 412 的 jszzx 是生成本地cookie的 js。7、我们有一个要注意的地方getElementsByTagName中 meta 标签这里的 content 要是第一次请求响应的 content。8、我们捋一下思路py 代码先请求第一次拿到第一次的 cookie然后将源码里面的 js 保存到 ts_data提取里面的 content 传递给 env 里面的 main 方法。因为getElementsByTagName里面的 meta 标签需要动态的运行 zzx 生成本地 cookie再携带两次的 cookie发起请求。这样就能拿到正常的 json 数据了。require(./ts_data) require(./zzx) function main(content){ _contentcontent return document.cookie }
返回列表