Python 爬虫进阶必备 | 某代理免费页面数据加密逻辑分析

咸鱼学Python

共 1151字,需浏览 3分钟

 ·

2021-07-29 09:10

点击上方“咸鱼学Python”,选择“加为星标

第一时间关注Python技术干货!

今日网站

aHR0cHM6Ly93d3cuYmFpYmlhbmlwLmNvbS9ob21lL2ZyZWUuaHRtbA==

现在做代理也不容易啊,时不时要和友商对线,还得时刻警惕吃免费饭的风险,大家都不容易。

加密分析与定位

老规矩先看网站的加密在哪里?

访问网页可以看到页面上是展示着免费 IP 的信息

爬虫新手经常喜欢整点免费代理池,爬爬妹子图啥的

遇到这个网站就比较难受了,IP 在页面源码上的展示是下面这样的

IP 信息的位置是下面这样的代码

FFsempstress('ZGLlZGHkAwZ3AwDmYwV1ZP4kZwDhBGtkAwZlAmZ5BQpl');

像这类加密就是检索就能一把梭出来的加密

而且因为在页面上加载的所以想通过Initiator找堆栈也是没有值的

检索的结果如下

只有两个,出去free.html另外一个应该就是加密的位置了。

进入 js 文件,看到下面的代码

function FFsempstress(s{
    document.write(ddip(s));
}

可以看到FFsempstress这里调用的其实还是ddip这个方法,在页面里重新检索ddip这个方法

可以看到如下的位置

ddip在一个eval里,回顾上一节的内容

eval处理可以直接一把梭出来

function ddip(e0){e1=r13(e0.toString());e2=$.base64.decode(e1);e3=e2.toString().substr(10);l3=e3.length;e4=e3.substr(0,l3-10);return e4}

这里可以看到用到了r13...等函数,继续在页面检索

可以看到在上一个eval里面

解开是下面的代码

和之前的代码拼在一块,愉快的运行一下

很好,报错了,报错不用怕,先看看错误提示

提示如下

提示$没有定义,我们自己定义一下,

var $ = {};

直接找到这个$的位置复制粘贴进去

把匿名函数传入的 jquery 修改成 $

然后就完事了,结果如下

又是一篇热气腾腾的新手教学文。

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

使用 “钞” 能力 | 安利两套安卓+JS逆向课程,适合初中高级爬虫逆向

对了,看完记得一键四连,这个对我真的很重要。

浏览 49
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报