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

定位加密点

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

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

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

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

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

1、pwdencrypt2、oauth_token3、vv

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

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

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

搜搜 vv 字段

搜搜 oauth_token 字段

搜搜 pwdencrypt 字段

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

全局搜索一下 pwdencrypt 字段:

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

可以看到:

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

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

扣取加密代码函数

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

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

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

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

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

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

那这么调用呢?

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

如果提示UDB不存在咋办?

那就改为:

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

来测试一下吧:

运行一波:

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

ok,以上!

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

关注我

学习 Python 没烦恼

你多点“赞”

我多点更新...

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

  1. js 定时网页点击_前端面试题熬夜吐血(js进阶篇)

    Ajax 是什么? 如何创建一个Ajax? AJAX全称是Asychronous JavaScript And Xml(异步的 JavaScript 和 XML) 它的作用是用来实现客户端与服务器端的 ...

  2. js 定时网页点击_前端面试题整合(JS进阶篇)(二)

    Ajax 是什么? 如何创建一个Ajax? AJAX全称是Asychronous JavaScript And Xml(异步的 JavaScript 和 XML) 它的作用是用来实现客户端与服务器端的 ...

  3. js 定时网页点击_学生网页作业制作网页设计成品免费下载第五期

    0 1 作品编号 MF13 网页主题:文学文章类题材网页作品 布局方式:表格布局 作品页数:6页 下载链接:见官网 下载密码:nl5m 作品介绍:文学诗词类题材学生网页基础作品,采用表格布局制作,共6 ...

  4. js 定时网页点击_JS的小乐趣:轻松完成打地鼠游戏

    学习目的:用基础知识做一个好玩的游戏 JS项目的小乐趣视频--轻松写一个打地鼠游戏 课程大纲: 所需知识点讲解 界面搭建 显示和消失地鼠 得分与扣分 课程总结 1.所需知识:html部分 body:放 ...

  5. js移动端调试控制台_移动端js调试工具:eruda

    通常写前端页面都在Chrome浏览器的开发模式下进行调试,但是写放在移动端的H5页面时,有时候会遇到在Chrome上调试没有问题,但是在手机的浏览器上有问题的情况:或者有些功能只能在特定的容器中才能其 ...

  6. js模板字符串自定义类名_【Vue.js 入门到实战教程】07Vue 组件注册 | 基本使用和组件嵌套...

    来源 | https://xueyuanjun.com/post/21929除了前面介绍的基本语法之外,Vue.js 还支持通过组件构建复杂的功能模块,组件可以称得上是 Vue.js 的灵魂,是 Vu ...

  7. js 格式化 java时间格式化_用JavaScript(js)对时间格式化

    可以说是Web项目中不可或缺的一个Javascript类库,它可以帮助你快速的解决客户端编程的许多问题,下面贴出一个用js格式化时间的方法. Date.prototype.format=functio ...

  8. h5+js调取相机做取景框_使用Vue.js开发微信小程序:开源框架mpvue解析

    戳蓝字"CSDN云计算"关注我们哦! 作者 | 成全 责编 | 阿秃 转自 | 美团技术团队企业博客 前言 mpvue是一款使用Vue.js开发微信小程序的前端框架.使用此框架,开 ...

  9. python 的emulate函数封装_用模拟执行实现Objective-C代码自动化分析

    火眼高级逆向工程实验室脚本系列:用模拟执行实现Objective-C代码自动化分析 写在前面的话 京东安全开源的 qiling 是一个很不错的想法,但是唯一的问题在于它实现的东西太多,比较笨重.有的时 ...

最新文章

  1. KDE Web开辟工具──KDE-Webdev
  2. 高等数学下-赵立军-北京大学出版社-题解-练习8.3
  3. 拼凑 牛客练习赛70
  4. leetcode226 反转二叉树
  5. c#(6)——数组的应用和二维数组
  6. LVM的创建扩展缩减与删除
  7. 第一章--电商设计表电商项目--数据库设计
  8. 【项目调研+论文阅读】基于医学文献的实体抽取(NER)方法研究 day5
  9. php文档头,头部文档(header.php)
  10. Mybatis中的collection和association一关系
  11. FireFox 在新建标签页插入“片段”广告引社区争议
  12. 深度学习之RNN循环神经网络(理论+图解+Python代码部分)
  13. 用ps轻松更改嘴唇颜色
  14. intel android 平板,IT百科之英特尔芯平板
  15. python中interval函数_python pandas Interval用法及代码示例
  16. 【STM32学习】(30)STM32实现18B20温度采集(标准库和HAL库实现)
  17. .removeAttribute is not a function
  18. OpenHarmony介绍及相关资料
  19. java 中 模等的用法
  20. python脚本文件的扩展命是什么_一些文件的扩展名

热门文章

  1. .NET Core IdentityServer4实战 第Ⅴ章-单点登录
  2. 盘点618 .NET 程序员必“败”书单
  3. .net core 使用RSA获取私钥证书并签名
  4. 微软一顿操作猛如虎,PowerShell 排名直线上升
  5. .NET Core使用skiasharp文字头像生成方案(基于docker发布)
  6. .NET Conf 2017后初尝Xamarin Forms 3.0@Linux
  7. 走过20年……你出现在哪里?
  8. Visual Basic的未来之路
  9. .NET应用迁移到.NET Core(二)风险评估
  10. Django04: ORM配置与使用MySQL数据库