js滚动条下拉一定值_JS逆向 | 无限Debugger之淘大象

置顶公众号

ee3f4b6fb1756eba5ffe51cca6841ff4.png

今天继续和大家研究JS逆向,不少小伙伴在JS逆向的时候遇到过无限debugger的反爬,今天就拿一个网站练练手感受下无限debugger。

分析请求

先打开这次的目标网站--淘大象(https://taodaxiang.com/credit2)

打开「开发者工具」就自动进入debug,我们先格式化看看能不能通过重写函数解决。

5dfdb7d3df97e387874af549866647c0.png

显然不是很好解决,所以我们试试通过「条件断点」的方法绕过这个反爬。

我们在 3393 与 3395 行右键添加「Add Conditional breakpoint」并在出现的对话框中输入「false」,这个时候无限debbuger的反爬就被我们绕过了。

虽然这里很快就绕过了反爬但是「条件断点」有一定的局限性,这里推荐一篇文章以供学习,就不再赘述。

https://segmentfault.com/a/1190000012359015

解决完反爬措施,我们刷新页面查看页面请求,很快就定位到请求接口、加密参数等信息。

请求接口:

185dcba275593a76e5c617e1134a1cea.png

加密参数 sign :

a2fd04eff900e0767363b80372d60654.png

定位加密位置

通过抓包请求我们定位到了接口和加密参数,我们试着通过搜索sign关键字定位一下加密位置。

3a9fd06306f17e2a768c7f8e35ec5410.png

通过搜索我们找到三个包含关键字的文件,通过检索文件,很快定位到了sign值加密的位置:

a8cbdd7339639f837cb9a6b2927d5785.png
460deb4dba2aa8a2628212988d1256bc.png

分析加密

很明显这个js文件经过一定程度的混淆,现在有两种方法解决:

一是直接扣代码,绕过debugger之后扣这个代码不要太简单。

二是通读加密,直接改写成python加密。

这个加密比较简单,整体是md5加密这点通过分析请求可以猜到,多次请求加密都不变,接下来就是分析是哪些字段加密成md5值。

这里比较明显的是js中的两段代码:

a109d0f027fcc55744c1f0af21a36d64.png

_0x2c114b['XDFEp']这个方法是将字符串拼接

_0x2c114b['zANjZ']这个方法是取字符串的MD5值

经过断点调试,发现最后字符串是由「查询的关键字」+ 「固定的key」+ 「查询的关键字」+ 「type参数值」拼接成的。

比对两种方式,通过python方法改写更加方便,主要代码如下:

from hashlib import md5def md5value(s):  a = md5(s.encode()).hexdigest()  return a

到这里这次的分析的网站 -- 淘大象 就被我们攻克了,这次的网站加密不是很难,主要难点是分析请求时的无限debugger。

其实其他同类型的网站还有很多,我推荐大家阅读下面的文章,文章提到了其他解决debugger的方法希望对你有帮助。

推荐阅读:JS逆向 | JSF*ck,这个看着头大的加密其实很简单JS逆向 | 记一次翻车的练手经历Python爬虫进阶必备 | RSA 加密案例解析汇总(一)Python爬虫进阶必备 | 关于 AES 的案例分析与总结(一)Python爬虫进阶必备 | 关于AES 的案例分析与总结Python爬虫进阶必备 | MD5 hash 案例解析汇总(一)Python爬虫进阶必备 | 关于MD5 Hash 的案例分析与总结Python爬虫进阶必备 | XX同城加密分析Python爬虫进阶必备 | XX快药 sign 加密分析与加密逻辑复写Python爬虫进阶必备 | X笔网密码加密分析Python爬虫进阶必备 | X中网密码加密算法分析Python爬虫进阶必备 | 极X助手加密算法分析Python爬虫进阶必备 | X博密码算法扣取+如何去扣取一个完整的逆向案例Python爬虫进阶必备 | X天下与XX二手房密码加密分析Python爬虫进阶必备 | X咕视频密码与指纹加密分析

实战案例浅析JS加密 - 基础总结篇

实战案例浅析JS加密 - RSA与XXTEA

实战案例浅析JS加密(一) - DES与Base64

688657c1081030c6f84f9c695588c396.png

98c5d25341de4fe3ad164c7731e59fa2.png

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

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

相关文章

java中数据类型转换、ASCII编码

数据类型转换: JAVA语言中要求参与计算的数据类型要保持一致,如果不一致则会发生数据类型转换,数据类型转换可分为:自动类型转换(隐式转换)和强制类型转换(显式转换)。 自动类型转…

pyecharts x轴字体大小调整_pyecharts 柱状图基础篇#学习笔记#

2020年初,很久没有用过pyecharts的我由于工作原因,安装了新版pyecharts之后,以前的pyecharts代码报错了。搜索之后才发现,我安装的是不兼容旧版本的新版。空闲的时间,把新版echart当作新的模块梳理了一下,整…

JAVA语言运算符(算数运算符、赋值运算符、比较运算符、逻辑运算符、三元运算)

运算符 JAVA语言中将运算符分为:算数运算符、赋值运算符、比较运算符、逻辑运算符、三元运算符。 算数运算符:算数运算符是对数字进行一系列的加减乘除等的计算,常见的算数运算符如: public class Operation{public static vo…

真彩色图像数据量 计算_军职在线大学计算机基础(自主模式)

第一章单选题电子计算机的发展已经经过了4代,4代计算机的主要元器件分别是(b)a.电子管,晶体管,中小规模集成电路,激光器件b.电子管,晶体管,中小规模集成电路,大规模或超大规模集成电路 c.晶体管…

JAVA语言中流程控制(顺序结构、判断语句、循环语句)

流程控制: 程序在执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的,所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现想要的功能。java中流程控制有:顺…

java中JShell脚本工具、常量优化、集成开发环境IDEA

JShell脚本工具: jshell:直接在DOS命令行(黑窗口)键入main方法中的代码就可以快速看到运行的结果,无需编译再运行,并且省略了入口方法及定义类的过程,其使用方法: 1.打开黑窗口后键入&#xf…

python编写arcgis脚本教程_ArcGIS使用Python脚本工具

在Pyhton写的一些代码,用户交互不方便,用户体验比较差,不方便重用。在ArcGIS中可以将用写的Python代码导入到ToolBox中,这样用起来就比较方便了。这里用按要素裁剪栅格的Python来演示如何导入ArcGIS中。代码如下: impo…

python中可以使用变量来引用函数吗_如何在python语言中使用函数变量并调用函数...

在python语言中,除了常规变量之外,还有函数变量。把函数本身赋值给变量,这个变量为函数变量。工具/原料 python pycharm 截图工具 WPS 方法/步骤 1 在已新建的python文件中,定义函数mul_data,传入两个参数param和exp2 …

C语言程序设计现代方法1,2,3章

1:浮点型(float)运算比int慢,并且可能存在舍入误差 如float存储0.1,以后使用可能会变成0.099999999987 2:宏定义只用大写,这是大多数C程序猿遵循的规范! C语言区分大小写&#xff0c…

初识java中数组、数组在内存中、越界异常、空指针异常

数组: 当存储多个数据时,此时可能会使用多个变量,这样不断声明变量会很麻烦,而这些变量都有相似的特性,因此我们可以将它们存放到一个容器中,统一处理。 容器:是将多个数据存储到一起&#xf…

异常处理python 空气质量问题_python的异常处理

异常处理什么是异常?首先要清楚,什么是异常,异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在pyth…

cad小插件文字刷_文字狗最佳排版神器 小恐龙公文排版助手Office WPS插件

文字狗最佳排版神器文字狗最佳排版神器 小恐龙公文排版助手Office WPS插件1.85最新版 无需注册、无需其他费用、无广告。相信大家所需要提交的各种论文、报告等Word文档都对格式有着非常严格的要求,对标题、目录、正文都有不同的要求。尤其是对于公文,要…

Java中的对象、private关键字、this关键字、构造方法

面向对象 概述:Java一种面向对象的程序设计语言,面向对象思想是一种程序设计思想,在面向对象思想的指引下,使用Java语言去设计、开发计算机程序。 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。 …

2060显卡驱动最新版本_教程:怎么安装更新NVIDIAAMD显卡驱动?

PART-1:装驱动这么简单的事情真的需要写教程吗?我自己都理解不了我为什么要写这样一个教程,但是如你所见,他确实被我写出来了,而且对大部分人都挺有用。首先,使用鲁大师以及驱动精灵这类软件的同学自己喜欢就好&#x…

mysql 两个时间相差大于24小时的数据_MySQL 主从同步延迟的原因及解决办法(仅学习)...

原文链接:https://blog.csdn.net/hao_yunfeng/article/details/82392261Mysql主从基本原理,主要形式以及主从同步延迟原理 (读写分离)导致主库从库数据不一致问题的及解决方案 一、主从数据库的区别 从数据库(Slave)是主数据库的备份,当主数据…

分形之万花筒

万花筒是一种光学玩具,只要往筒眼里一看,就会出现一朵美丽的“花”样。将它稍微转一下,又会出现另一种花的图案。不断地转,图案也在不断变化,所以叫“万花筒”。万花筒的图案是靠玻璃镜子反射而成的。它是由三面相交成…

mysql同步数据到另一张表_mysql:Otter跨机房数据同步(单向)

重要说明:需要同步的表必须要有主键 主键 主键otter是一款基于Java且免费、开源基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库的解决方案。Otter目前支持了什么1. 单向同步, mysql/oracle互相同步2. 双向同步&am…

04day1

无穷的数列 找规律 【问题描述】 有一个无穷序列如下: 110100100010000100000… 请你找出这个无穷序列中指定位置上的数字。 【输入】 第一行一个正整数 N,表示询问次数;接下来的 N 行每行一个正整数 Ai,Ai 表示在序列中的位置。 …

【转】Eclipse+CDT+Gcc编译选项控制

原文地址:http://www.oschina.net/question/4873_19441 如果我们的程序调用动态链接库,当在cdt中运行的时候,可以通过run-->enviroment-->添加LD_LIBRARY_PATH 环境变量来设置查找动态链接库文件的路径。但是在运行的时候,程…