如有违规侵权 请联系我删除!!!!!!!
如有违规侵权 请联系我删除!!!!!!!
如有违规侵权 请联系我删除!!!!!!!
前言
在当今数据驱动的世界中,数据网站为了保护数据的安全性,网站通常采用多种加密技术来加固其安全防线。例如本文将要分析的网站借助JavaScript异步编程实现对K值参数的加密生成。
现在,让我们一同探索这个令人着迷的领域,揭示k值参数加密和JavaScript异步编程在保护某数据网站中的重要作用。
一、JavaScript异步是什么?
JavaScript异步是指在执行JavaScript代码时,某些任务可以在后台进行,而不会阻塞或延迟其他代码的执行。在传统的同步编程模型中,代码会按照顺序一行一行地执行,直到遇到某个任务完成后才会继续执行下一行代码。而异步编程则允许在执行任务的同时,继续执行其他代码,而不必等待任务的完成。
JavaScript中的异步编程通常使用回调函数、Promise对象和async/await等方式来实现。常见的异步操作包括与服务器的数据交互、文件读写、定时器和事件处理等。通过将这些操作设置为异步,可以提高代码的响应性和性能,同时避免长时间阻塞用户界面或其他重要任务。
二、当加密参数遇上了JavaScript异步
在JavaScript逆向中,如果遇到某个参数使用了JavaScript异步,那么将会是非常痛苦的事情,因为你不能确定你快速跳过的一段函数会不会刚好就是加密参数生成的函数入口,因此只能一步一步的跟进函数,鼠标都要点冒烟了。
三、K值
1. 断点
直接搜索k值效果并不怎么好,这里建议打xhr断点,当我们在这里断住之后,就可以很明显的看到很多的JS异步,让我们往上跟栈,来到 d.request 这里并打下断点(如果断不住可以在前面再打一个)
2. 跟值
小贴士:异步跟栈请点击 F9
当我们把鼠标点冒烟或者F9按烂之后,我们会看见一串疑似加密的代码,在控制台运行一下
啊哈,很明显这就是K值的生成入口了。
我们继续跟值,这里就是参数生成的最终位置了,顺嘴提一下,这里使用到的对象 n 里的三个参数是变动的,但这三个参数的位置其实很好找,大家可以自己尝试一下。
四、结果
最后来看一下还原后的算法运行结果,bingo!还原成功!