js 定时网页点击_反爬 JS 逆向,扣代码解密分析

挺久没发爬虫相关的教程啦,今天给大伙分享一下关于网站反爬对请求参数值的加密分析例子,主要还是看看思路。

定位加密点

在某网站中进行登录请求:

29c8b46ff2ad89b6cdd4e908da267809.png

简单抓下包,点击登录按钮之后,可以在浏览器的控制台中看到相关的请求:

b5c2595cebf5c751564775f3bfafe0e5.png

35b690fbfc25132ac2843873991401ea.png

接着往下拉,可以看到 POST 请求的参数信息:

1f9fa1c168e9d5ee247e7725e6386d44.png

从中可以看出,除了 username 中的值比较明显之外,其它的参数值看的都是一脸懵逼...

其中比较关键的几个参数是:

1、pwdencrypt2、oauth_token3、vv

那么这时候是不是应该立刻去代码中搜索上面这几个字段呢?

不不不,这会增加我们的工作量,因为这些参数值有时候是加密的结果,也有时候是页面返回的值。如果你一开始就去全局搜索字段, 分析到最后发现是取网页的某个值,那岂不是浪费许多时间?

为了避免这种事情发生,我们可以直接拿刚刚 POST 请求中已经被加密的参数值搜一下,使用快捷键 CTRL + SHIFT + F 全局搜索 JS :

搜搜 vv 字段

810565a2d74d377ff8fba8f62b94328b.png

搜搜 oauth_token 字段

133606871a84834033ac202d09433ea4.png

搜搜 pwdencrypt 字段

d86c1cbe9fdaf592c7486976cd1f6524.png

从搜索结果中可以发现, oauth_token 和 vv 为网页返回的值,而 pwdencrypt 全局搜索不到,大概率是加密的密文了,这样一下子就干掉了两个参数啦,接下来只需要分析 pwdencrypt 即可。

全局搜索一下 pwdencrypt 字段:

737f4091ba51103dc1a69ff089ba72ac.png

可以看到,这里 pwdencrypt出现在 Login.auth_v2.js 中,我们点进去看看:

c880b86c025c6ee258b3f17e5282eee5.png

可以看到:

pwdencrypt 在此使用了 RSAUtils.encryptedString 进行加密。

当然,你也可以在这里打个断点,然后重新点击登录按钮,来确定参数的加密位置:

710687b7862fb4c171089abb041ed70f.png

扣取加密代码函数

先把鼠标悬浮在函数名称那,然后会弹出一个窗口来,你点一下就可以进入相关的函数了:

63397482aff7013fc4a697a5dc3cd127.png

接着,你可能会一脸懵逼的看到一堆js代码,不知道这么扣?不要慌,只要你遇到不是套娃的写法以及一个Js文件多种方法实现的,简单粗暴的全部复制粘贴就行了,这个就网站就是如此。

首先全选我们定位到的 JS 代码,然后复制粘贴一波:

f1f71edde03f12cfaeddc1f9921d9cfe.png

接着在 node 环境中运行这段 JS:

65d5f434d30d1e378379f3188f92a608.png

咦~报错了,提示我们找不到 window 对象。

没有window 那我们就在 JS 头部定义一个 Window=this,定义完后再运行,如果这时候啥事没发生,那就证明 JS 基本扣下来能用了。

那这么调用呢?

当然是他们怎么调我们就怎么调就行啦:

75dcf76ae4f7c252eff2e390916fe5f4.png

如果提示UDB不存在咋办?

那就改为:

window.UDB.SDK.rsa.RSAUtils.encryptedString(password)

来测试一下吧:

238f64aee11c18b93403642d7960c5e1.png

运行一波:

e9cbf3297b08de54b3169c9d530f963d.png

你看,加密的结果是不是就得到了呀?

ok,以上!

ps: 本文思路由 {小帅b的朋友:lin 哥哥} 提供,小帅b希望今天的分享能给你带来一点帮助,那么我们下回见啦,peace!

3a7668e117e6b8e2413b92e7ead6049a.gif

关注我

学习 Python 没烦恼

你多点“赞”

我多点更新...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/298965.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

这个时代最重要的技能之一(数据分析)

大家好,我是Z哥。首先说明一下,今天不卖课程哈,就单纯聊聊我在做数据分析时的一些经验。在如今这个数据爆炸的时代,我们每天不管是主动还是被动,都会面对大量的数据扑面而来。如果有较好的数据分析能力,不管…

ADO.NET Entity Framework学习笔记(2)建模[转]

模型结构 [概念模型]中要有[实体键], [实体键]要与表中的 [主键] 对应,也就是说表必须要有主键. 表中的[唯一键]不会在[概念模型]中体现 在[概念模型]中默认是不允许修改[实体键]的值的 联合主健可以正常映射 如果为属性赋值超过字段长度保存时,会向数据库提交,数据库会返回错…

教你怎么一下哄好赌气的女朋友​

1 教你怎么一下哄好赌气的女朋友▼2 有钱人的隔离生活也格外丰富多彩▼3 狗:有一种被掏空的感觉▼4 湘西赶尸的原理找到了!▼5 泰罗奥特曼在打奥特曼你先去找迪迦奥特曼玩▼6 看起来就很值钱的哟而且还是微波炉专用哦!▼7 看完了有点恐…

最受欢迎中国技术博客? 我才狂写4周唉

今天察看了一下blog的访问来源,居然发现有很多点击来自同一个URL:http://blog.zdnet.com.cn/popblogger50.shtml。进去一看,发现是一个‘最受欢迎中国技术博客’评选活动。这让我很惊讶,因为这个Blog1)放得很冷僻&…

Linux挂载命令mount详解

Mount挂载命令使用方法语法: mount -t 类型 -o 挂接方式 源路径 目标路径-t 详细选项:光盘或光盘镜像:iso9660DOS fat16文件系统:msdosWindows 9x fat32文件系统:vfatWindows NT ntfs文件系统:ntfsMount Windows文件网…

php curl hostname,php – 如何解决cURL错误(7):无法连接到主机?

我使用cUrl(php)以xml格式将项目代码发送到Web服务。我在localhost中得到正确的响应,但是当它做服务器它显示cURL Error (7): couldn’t connect to host这里是我的代码:function xml_post($post_xml, $url){$user_agent $_SERVER[HTTP_USER_AGENT];$ch…

headless 怎么处理_公司清算注销债务怎么处理

公司解散2020-09-10 14:27:00更新公司在经营的过程中会产生很多应付款的,最为常见的是应付货款,应付款是指应该支付而未支付的款项,是属于债务的一种,那么公司注销清算前应付款如何处理?下面由华律网小编为读者进行的解答&#x…

WTMPlus 低代码平台来了

点击上方蓝字关注我们WTMPlusWTM框架开源4年以来,凭借其良好的设计,超高的开发效率,出色的性能和广泛的适用性得到了越来越多用户的喜爱,WTM的Nuget包累计下载已经超过了14万次,平均每天都有100人次使用WTM在开发项目。…

数据结构C#版笔记--堆栈(Stack)

堆栈(Stack)最明显的特征就是“先进后出”,本质上讲堆栈也是一种线性结构,符合线性结构的基本特点:即每个节点有且只有一个前驱节点和一个后续节点。 相对前面学习过的顺序表、链表不同的地方在于:Stack把所有操作限制在"只能…

为什么女生会有体香?

全世界只有3.14 % 的人关注了爆炸吧知识本文转载自微信公众号一只学霸(ID:bajie203)今天渣哥向我诉说了一个困扰了他很久的疑问看着渣哥这一副无知的样子学霸的内心暗爽就让你伟大而又聪慧的霸霸来为你揭开女生的真面目一说到这个学霸知道你们…

心路

从昨天在电脑上COPY上《头文字D》后,到现在我看了三遍了,但是我还是在看,我不知道自己是为了什么,难道是我想找一个好的结果吗,没有的呀,不管怎么样,导演安排的就是这个样子,可是我还…

手游开发者交流会议暨OGEngine新版发布

2019独角兽企业重金招聘Python工程师标准>>> 手游开发者交流会议暨OGEngine新版发布 由OGEngine举办的第二次手游开发者交流会议以圆桌会议方式在深圳高新园举行。会议不仅吸引了手游开发者,也有海外支付商,国内外的手游发行商参加。 会议环绕…

python 绘制围棋棋盘_围棋之规则基础(一)

★本期导读:一、围棋的下法二、气★正文:一、围棋的下法1、 对局双方各执一色棋子。2、 空枰开局。3、 黑先白后,交替着一子于棋盘的交叉点上。4、 棋子下定后,不再向其它点移动。5、 轮流下子是双方的权利,但允许任何…

php pdo 查询语句,PDO:预处理语句(参数化查询)

(PDO(PHP data object/PHP数据对象))[PDO|预处理语句|参数化查询]The database library called PHP Data Objects or PDO for short can use drivers for many different database types, and supports a very important feature known as prepared statements, sometimes also…

Asp.Net Core安全防护-客户端IP白名单限制

前言本篇展示了如何在ASP.NET Core应用程序中设置IP白名单验证的2种方式。你可以使用以下2种方式:用于检查每个请求的远程 IP 地址的中间件。MVC 操作筛选器,用于检查针对特定控制器或操作方法的请求的远程 IP 地址。中间件Startup.Configure方法将自定义…

Win2003中apache2整合tomcat5和iis6

为了能在已经存在iis6的服务器上运行自己的java程序,经过历时半年的尝试,今天终于搞定了,好开心啊。最开始是用iis直接连接tomcat,找遍了网上所有的资料,可是死活也连不通,或许是iis的封闭吧,看…

WiFi密码都不会破译​还想考清华?​

1 18万的飞机票也能秒空???留学生:这是救命钱啊▼2 WiFi密码都不会破译还想考清华?▼3 好羡慕有这样的妈妈▼4 猫:你别进来,我这儿不接待小孩儿!孩子:我就进去看看▼…

ASP.NET网页文本编辑器的使用

ASP.NET网页文本编辑器的使用,效果图如下: 这里要用到DotNetTextBox.dll组件,具体内容可以在http://sites.google.com/site/zhangqs008/chang-yong-gong-ju 下载,使用方法如下: 1.将“DotNetTextBox.dll”文件添加到工…

在google play开放平台上closed texting如何删除_“爷青回”!如何抢先体验《英雄联盟》手游?这份攻略送给你...

如果你要问我最近什么手游最火?那我的回答肯定就是《英雄联盟》手游了!自从拳头公司在前几天爆出部分地区公测的消息之后,很多国内玩家就已经按耐不住自己激动的心了。由于国服没有公测,所以许多国内玩家便纷纷涌入日服和韩服。这…

如何用 Linq 进行多重 Orderby ?

咨询区 Sasha:我有两张表:movies 和 categories,我想获取一个先按 categoryid 再按 Name 排序的list。movie 表有三个列:ID,Name,CategoryID。category 表有两个列:ID,Name。我设想的伪代码如下:var movies…