专栏作者:战俘巡航,爬虫工程师,具有丰富的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插件

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

  1. 爬虫必看,每日JS逆向之爱奇艺密码加密,今天你练了吗?

    本次目标是抠出爱奇艺passwd加密JS代码,如果你看到了这一篇,说明你对JS逆向感兴趣,如果是初学者,那不妨再看看我之前的一些文章,可能对你的学习路有些帮助,跟着一起调试,对JS加密方法理解会更深点 ...

  2. JS逆向之常见编码和混淆加密方式(二)

    继上篇讲到JS的一些常见编码加密方式后,本篇继续讲解一下编码加密方式. JS加密方式: 1.HMAC 加密 2.DES对称加密 3.AES 对称加密 4.RSA 非对称加密 5.https 对称密钥加 ...

  3. QQ音乐JS逆向分析参数,爬它,多图预警

    昨天看一个哥们的文章说是MD5加密,自己试了试,不知道怎么出错了,所以就老老实实JS逆向了,但真的是MD5加密 分析一下要获得的参数 这次用逆推的方式,应该好理解 1.开发者模式,媒体C40000开头 ...

  4. python爬虫 房天下js逆向模拟登录

    js逆向学习后跟着教程第一次实战.目标链接 这次用到的是requests和execjs,execjs主要是用来执行js代码,win系统直接在命令行pip install execjs安装就ok了. 网 ...

  5. JS逆向 -- 分析某站aid、cid、w_rid和sid的加密过程

    接上节课内容 JS逆向 -- 分析某站buvid3和_uuid的加密过程 JS逆向 -- 分析某站b_lsid值加密过程 一.清除cookie信息,刷新网页,ctrl+f搜索sid,这样找到的数据是在 ...

  6. execjs执行js出现window对象未定义时的解决_JS逆向 | 助力新手 , 两个JS逆向喂饭教程...

    练手喂饭系列来喽~这周在读者群顺手搞了个小活动,在群里摸鱼的时候有水友说练手系列能不能来点简单的写详细点.所以我这次准备了两个比较简单的练手加密,从分析到复写加密一步一步截图,我就不信这样你还学不会! ...

  7. js逆向之常见的压缩和混淆

    js逆向之常见的压缩和混淆 在Web系统发展早期,Js在Web系统中承担的职责并不多,Js文件比较简单,也不需要任何的保护.随着Js文件体积的增大和前后端交互增多,为了加快http传输速度并提高接口的 ...

  8. js逆向-常见的加密算法

    js逆向-MD5加密 MD5是一种被广泛使用的线性散列算法,可以产生一个128位(16字节)的散列值(hash value),用户确保信息传输完整的一致性.且MD5加密之后产生的是一个固定长度(32位 ...

  9. JS逆向之补环境过瑞数详解

    JS逆向之补环境过瑞数详解 "瑞数" 是逆向路上的一座大山,是许多JS逆向者绕不开的一堵围墙,也是跳槽简历上的一个亮点,我们必须得在下次跳槽前攻克它!! 好在现在网上有很多讲解瑞数 ...

最新文章

  1. iOS中系统自带正则表达式的应用
  2. Error:-81024 LR_VUG:The 'QTWeb' type is not supported on win32 platforms
  3. 测视力距离5米还是3米_视力表只能看到0.3,相当于近视度数200度?
  4. 后序遍历的非递归算法python_Python非递归实现二叉树的后续遍历
  5. php windows svn,windows下安装svnmanager
  6. hdu1505 dp:01矩形中最大面积全0矩阵
  7. MySQL中针对大数据量常用技术
  8. ExtJS实战(1)-准备工作和界面赏析
  9. linux下巧用tail命令 创建自解压tar文件
  10. 7-3 寻找大富翁 (50分)
  11. Python: PS 滤镜--碎片特效
  12. php加cnzz,Vue单页面中添加cnzz统计
  13. 卡耐基计算机专业课程,你以为卡耐基梅隆大学只有计算机专业厉害吗?
  14. linux更改ntfs格式权限,Gentoo Linux下读写NTFS格式分区(ntfs-3g解决NTFS只读不可写的问题)...
  15. Activities介绍
  16. 史上最简单的免费短信验证码案例
  17. 部署: 搭建 Apache RocketMQ 单机环境与Rocketmq-console
  18. 华为5g cpe 虚拟服务器,购买华为5G CPE Pro 2之前你需要知道这些
  19. 服务器上搭建java环境,安装tomcat以及MySQL数据库-小白教程
  20. vue-seamless-scroll 使用

热门文章

  1. python算法与数据结构-二分查找算法
  2. php+mysql分库分表的哈希(hash)算法
  3. Linux报错./configure: error: C compiler cc is not found
  4. 反思自己钻牛角尖:间隔反思思维方法 时时刻刻反馈目标
  5. yum安装php5.6 nginx,CentOS 7 yum安装 Nginx1.16 + MySQL5.5 PHP5.6
  6. 计算机应用基础模块2客观题答案 文档,计算机应用基础网上形考答案模块2 Word 2010 文字处理系统客观题答案(精).doc...
  7. python图片比对、自动化测试,腾讯优图及知脸(ZKface)人脸比对接口测试(python)
  8. B-Tree和B+tree
  9. android 修改菜单大小,如何在NavigationView中更改菜单项图标的大小?
  10. 计算机地址永无符号数表示,计算机如何区分 有符号 无符号数的区别???