助力小白常见JS逆向乱杀喂饭教程——Url加密

专栏作者:战俘巡航,爬虫工程师,具有丰富的Python数据采集经验。

最近,读者希望公众号能出一些JS逆向的干货教程,所以,安排!


首先不知道能写多少简单易懂的逆向内容供小白们吸收学习,目前先不讲混淆相关的哈,先姑且称这是V0.1的喂饭教程!Js没基础的补一补基础,浏览器调试不会的看之前的文章里面推荐的浏览器介绍哈,别问,问就是我的收藏也没了。

01

扫盲阶段

问1:加密干啥用的?

答:不防你防谁。

 

问2:加密用在哪里?

答:看文章下面 区分下加密出现的地方。

 

问3:加密难吗?

答:如果你是一个合格的pythoner就觉得不难(只管调用,不管实现原理)。

 

问4:加密有哪些?

答:对称加密和非对称加密(就像只有男人和女人一样),后面会详细说的。

 

问5:加密需要js底子吗?

答:人家js写的,你会的话总没错(技多不压身,但是压脑子)。

 

.......

当然,还需简单区分下加密出现的地方(只限于小白级别):

02

Url加密

本文先从Url加密开始讲哈,Url加密常见于访问一级界面后,二级界面跳转详情页时url进行加密,可以用selenium进行爬取,但是慢!举个栗子(base64工具网站解密下):

aHR0cDovL2dnenkuendmd2IudGouZ292LmNuL3F1ZXJ5Q29udGVudC1qeXh4LmpzcHg/dGl0bGU9JmluRGF0ZXM9JmV4dD0mZXh0MT0mb3JpZ2luPSZjaGFubmVsSWQ9ODMmYmVnaW5UaW1lPSZlbmRUaW1lPQ==

首页可以看到都是正常的网址:

然后我们点击一页进入瞧一瞧,看一看:

哎哎哎,怎么就成这个亚子了???

 

经过反复查看之后,你肯定觉得:这就是加密(tnnd,遇到反爬了,俺也不会呀)!!!

 

这种情况就url加密,熟悉了网站之后,我们再来猜一下他是在哪里进行加密的。为什么要进行这个分析,其实是为了判断它是在html里面加密的,还是在xhr请求的时候进行加密的。

 

来了来了!!!注意注意!!!

1. 首先进入网站首页的时候很慢,你去查看其他的网站,比如百度之类的就很快,这里就比较可疑。

2. 点击详情页的时候很快,先当作正常操作。

3. 查看下详情页在F12面板中的请求信息,发现在type栏是document,initator是Other,其实到这里一般有点经验的就看出来了在哪里进行的加密。

 

这个时候怎么办呢,先回去看看主页面的标题列表。

在url的父级元素以及和url这个a标签元素中并没有出现 js函数,下面来看解决办法:

是不是有个remove,挨个删,删一个点一下网站,哪个删了不能跳转了那就是到位置上了,但是明眼人一眼就看出来了click,remove后面跟着一个CAXX...js:2这样的,点击下click,会出来一堆元素,再点下a标签后面的VMXX:1,就能进入加密函数。

 

进入之后看到了一堆js代码,先格式化下。

点击花括号,开始分析代码,不懂js没关系,我帮你。

 

大体上好像是这样,我们在32行下断点看看(新手建议16行下断点一行行的进行调试哈,方便看的懂逻辑)。

右键点击行号,出现蓝色箭头代表成功(更新的谷歌或者其他浏览器略显不同),点击网页上的文章就能看到这边已经断下,并且32行网上已经给出了值。

不出提示的,在这个界面按两下ctrl就能出来了,uuu就是网站的链接。到此呢,我们已经成功找到了这个网站的加密,并且知道了是AES加密,在上面的图片中也分析了AES加密的结构:

CryptoJS.AES.encrypt(加密内容,密钥){
模式: CryptoJS.mode.xxxx,
填充: CryptoJS.pad.xxxx
}

 

你以为我为了凑字数来分析下这个结构吗,不不不,在这个结构中可以提取出一些东西,比如:

 

这些东西有什么用呢?这些东西叫做特征码,请再次进入F12界面:

 

 

然后把上面的特征码放在搜索栏中搜索下,看看结果:

相信到这里你已经可以手撕AES加密了(手动滑稽~)

 

问:怎么实现这样的加密?

答:会js的套个js 的AES加密库。

 

问:不会js怎么办?

答:上GitHub,上面的大佬早已经封装好了。请尽情调用吧~

Ps:实现了加密,爬人家一页两页的就行了哈,来学技能的不是让你搞人家站的。



推荐阅读
误执行了rm -fr /*之后,除了跑路还能怎么办?!

程序员必备58个网站汇总

大幅提高生产力:你需要了解的十大Jupyter Lab插件



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值