189 8069 5689

JS逆向技术如何使用

这篇文章主要介绍“JS逆向技术如何使用”,在日常操作中,相信很多人在JS逆向技术如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JS逆向技术如何使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联公司-云计算及IDC服务提供商,涵盖公有云、IDC机房租用、服务器托管雅安、等保安全、私有云建设等企业级互联网基础服务,欢迎联系:18980820575

分析请求

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

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

JS逆向技术如何使用  

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

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

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

请求接口:

JS逆向技术如何使用  

加密参数 sign :

JS逆向技术如何使用  
 
定位加密位置

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

JS逆向技术如何使用  

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

JS逆向技术如何使用  
JS逆向技术如何使用  
 
分析加密

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

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

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

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

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

JS逆向技术如何使用  

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

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

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

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


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

到此,关于“JS逆向技术如何使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


网站栏目:JS逆向技术如何使用
文章转载:http://cdxtjz.cn/article/psodee.html

其他资讯