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

举报
xianyuplus 发表于 2021/07/26 14:40:34 2021/07/26
【摘要】 今日网站aHR0cHM6Ly93d3cuYmFpYmlhbmlwLmNvbS9ob21lL2ZyZWUuaHRtbA==现在做代理也不容易啊,时不时要和友商对线,还得时刻警惕吃免费饭的风险,大家都不容易。加密分析与定位老规矩先看网站的加密在哪里?访问网页可以看到页面上是展示着免费 IP 的信息“爬虫新手经常喜欢整点免费代理池,爬爬妹子图啥的遇到这个网站就比较难受了,IP 在页面源码上的展示是...

今日网站

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 修改成 $

然后就完事了,结果如下

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

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

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。