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,一经查实,立即删除!

相关文章

apache配置多个虚拟主机

设置apache 多个虚拟目录记录 #配置第2个虚拟目录<VirtualHost 127.0.0.2:80>ServerName www.xx.comDocumentRoot "E:/wamp/www/"</VirtualHost><Directory "E:/wamp/www/"> Options Indexes FollowSymLinks Multiviews AllowOv…

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

数据类型转换&#xff1a; JAVA语言中要求参与计算的数据类型要保持一致&#xff0c;如果不一致则会发生数据类型转换&#xff0c;数据类型转换可分为&#xff1a;自动类型转换&#xff08;隐式转换&#xff09;和强制类型转换&#xff08;显式转换&#xff09;。 自动类型转…

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

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

BZOJ 1640: [Usaco2007 Nov]Best Cow Line 队列变换

Description FJ打算带着他可爱的N (1 ≤ N ≤ 2,000)头奶牛去参加”年度最佳老农”的比赛.在比赛中,每个农夫把他的奶牛排成一列,然后准备经过评委检验. 比赛中简单地将奶牛的名字缩写为其头字母(the initial letter of every cow),举个例子,FJ带了Bessie, Sylvia,和Dora,那么就…

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

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

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

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

hdu 2570 贪心

贪心的经典题型 该死的精度问题&#xff0c;WA了好几次&#xff0c;以后能用乘的绝不用除&#xff01;&#xff01; #include<iostream> #include<algorithm> #include<cstdio>using namespace std;int main(){int n,v,w,k,i;int p[111],t[111];cin>>k…

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

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

python下载文件暂停恢复_selenium+Python如何取消Chrome下载文件的‘保留’‘放弃’提示?...

本人在做自动化测试的时候遇到问题&#xff0c;自动导出文件的步骤可以执行&#xff0c;但是文件并没有成功导出到目标目录&#xff0c;经debug发现&#xff0c;Chrome卡在了下载询问的窗口页面&#xff0c;就是底部弹出窗口询问是否‘保留’或者‘放弃’的那个页面。所以脚本执…

2014/9/12 play with thesick siyang baby.

11:48 2014/9/12再怎么无聊的游戏&#xff0c;在思杨宝宝的眼里都是那么好玩&#xff0c;那么有趣。昨天回去和他玩老鹰抓小鸡的游戏&#xff0c;我当老鹰&#xff0c;他当小兔子。我看他跑到奶奶屋里&#xff0c;就冲进去把他“抓走”&#xff0c;然后扔到我的屋里。思杨乐的啊…

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

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

ASP.NET MVC3 学习心得------路由机制

9.1 理解URL URL满足的要求&#xff1a; l 域名易于记忆和拼写 l 简短、易输入 l 可以反应出站点的结构 l 可破解&#xff0c;用户可以通过移除URL的末尾&#xff0c;进而达到更高层次的信息体系结构 l 持久、不能变化 9.2路由机制的概述 ASP.NET MVC中路由机制的两种用途&…

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

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

初步认识java中的方法

java中方法&#xff1a; 方法&#xff1a;是将一个功能抽取出来&#xff0c;把代码单独定义在一个大括号内&#xff0c;形成一个单独的功能。需要这个功能的时候&#xff0c;就可以去调用。这样即实现了代码的复用&#xff0c;也解决了代码冗余的问题。 public class Methods…

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

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

ACM竞赛常用STL(二)之STL--algorithm

<algorithm>无疑是STL 中最大的一个头文件&#xff0c;它是由一大堆模板函数组成的。下面列举出<algorithm>中的模板函数&#xff1a; adjacent_find / binary_search / copy / copy_backward / count/ count_if / equal / equal_range / fill / fill_n / find /fi…

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

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

python全栈要学什么_python全栈要学什么 python全栈学习路线

IT行业&#xff0c;技术要比学历、年龄、从业经验更为重要&#xff0c;技术水平直接决定就业薪资&#xff0c;想要学好python&#xff0c;首先要先了解精通Python语言基础、Python web开发、Python爬虫、Python数据分析这四大方面。 全栈即指的是全栈工程师&#xff0c;指掌握多…

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

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

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

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