ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

今日网站

2021-04-04 21:01:32  阅读:138  来源: 互联网

标签:这个 请求 网站 ip js 获取 今日 页面


aHR0cHM6Ly93d3cuemRheWUuY29tL0ZyZWVJUExpc3QuaHRtbA==

这个网站来自咸鱼的技术交流群

图片

抓包分析与加密定位

这个网站是某代理商的免费代理页面,我们想要实现的就是这个页面上免费代理的提取。

所以先看看反爬的措施是什么?

图片

可以看到 ip 在 response 中的展示的不全,ip 最后一位显示的是wait,通过排查 css 以及字体文件可以先得出一个结果,这个反爬不是字体反爬或 css 反爬

为了确定这个反爬是不是js反爬,我们可以禁用当前网站的 js文件,查看页面的展示是否有变化。

图片

当禁用了页面的js后,可以看到页面上展示的结果已经无法展示完整的 ip 地址了,所以可以判断页面上的ip展示是由 js 控制的

图片

现在需要定位这个 js 逻辑的位置,先看看检索wait能不能找到有关的内容

image.png

这里直接说结果,检索的工作量太大了,90 个匹配项相关性都不大,所以先看看别的方法,如果都没有收获的话再回来继续分析。

通过上面这张图,看到替换的位置有v的值是很特殊的,不过经过上面的检索,想通过这个方法去找到加密的直接可以放弃了。

image.png

所以继续回到抓包界面试试看。

在抓包的界面里,认真分析还是可以看到一个相关项,这个请求链接长得很奇特。

image.png

这么一长串的链接就很可疑,不过这个请求返回的是一个数值没有太多有价值的信息,所以直接看看这个数值是具体用在哪里

因为是一个 xhr 请求,所以直接用 xhr 断点找就很方便

图片

断点打上之后,就出现一些有意思的地方了

图片

往上两个堆栈可以看到,返回值是需要经过一通操作才可以的

图片

再网上看,可以看到这里的逻辑就比较显眼了,直接对 document 进行操作了

图片

代码拿到 console 中测试可以获取到带wait的值

图片

整个函数运行下来就可以直接获取到完整的ip

图片

现在就只要找到这一套字符串替换的逻辑就可以获取完整的 ip 了

加密分析

image.png

先看请求的是怎么发出的,上面的图中前一段的domain是固定的

后一段的链接由两个参数拼接

图片

这里未知的是mkshowmak这三个参数

这里的mk是固定值 = xxxmxxxxxxxxxm398mxxx1m402

后面发现这个值是经过加密的请求 ip

图片

这里的ak是动态的,所以还需要构建一个请求动态获取

图片

再来看看showm这个加密,选中即可跳转

图片

这个比较简单直接扣取到 node 环境下运行即可

image.pngimage.png

本地运算的结果如下

image.png

这样就可以得请求的链接获取这个请求返回的值代入运算

拿到这个值之后就可以看看接下来进行的操作了

图片

接下来可以看到out()这个方法获取的是当前这个 ip 列表的长度

function out() {
    var myTb = document.getElementById("ipc");
    if (myTb) {
        return myTb.getElementsByTagName("tr").length - 1
    } else
        return 0
}

经过out1()取出每一行 ip 中v的值,这个和我们抓包部分想要从v入手找加密逻辑相印证。

图片图片

将这个值和上面构建请求获取的值,一起代入dsfgsd运算,就可以得出还原好的 ip 了

图片

所以正确的请求顺序如下

1、请求 base.js 获取mkak这两个值,构造下面的请求,获取返回的值

图片

2、请求免费代理的页面,获取带wait字符的ip还有对应的v

3、将每一个v和 1 中的返回的值,传入dsfgsd中计算,并将结果替换得出正确的 ip

虽然是免费的 ip 代理,不过站方这个思路可以说非常用心了

好了,今天的文章就到这里了,我们下次再会~


标签:这个,请求,网站,ip,js,获取,今日,页面
来源: https://blog.51cto.com/15127522/2684967

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有