逆向技术有很多,本文将介绍内存漫游逆向技术来逆向网站,让大家多掌握一种技术多一分逆向手段,内存漫游是fiddler里面的一个插件功能,是用nodejs开发的一个库。
内存漫游技术应用场景:一般网站都可以使用此技术,尤其是要逆向的关键词也被加密的情况,如果此时想用全局搜索无法实现。例如,一般网站登录的password值都加密了,我们搜索password一般都搜索到,除非password被混淆,但是有的网站连password本身都是加密的,这样我们连搜索的关键词都没有了,这时使用内存漫游技术来搜索password的值。
像上图中v的值被加密了,假设v本身也被加密了,那我们用什么搜索?使用内存漫游技术则直接搜索v的值,而不是搜索v,即用那一大串加密字符串来搜索,然后采用插件集成的hook.search()搜索这一串字符串,得到的结果将被打印到控制台,结果就是生成这一串字符串时的函数,即加密函数。
内存漫游技术实际上就是使用了网站加载完成后,加密的结果还在电脑内存中,以此作为基础来搜索加密的函数。
目标网站:https://www.geetest.com/demo/slide-float.html
第一步:打开fiddler
使用fiddler 版4以上,把编程猫插件安装好,具体安装请百度一下,爬虫之家已经安装好了,如下图所示:
勾选多选框,开启内存漫游。
正常不用集成到fiddler等工具里面就可以单独使用,安装使用方法请阅读“js逆向:浏览器内存漫游安装与使用 ”,而集成到fiddler最大的好处是,只要打开就可以使用不用做各种配置,省去了不少麻烦。
插件官网:https://github.com/JSREI/ast-hook-for-js-RE
第二步:测试开启内存漫游
打开打开开发者工具,再打开目标网站,如果正常则会在控制台显示:AST HOOK: 如果本窗口内有多个线程,每个线程栈的数据不会共享,初始化线程栈数据库
如下图所示:
说明我们开启内存漫游成功了。
第三步:发包
本例使用极验验证码发包,平常一般网站要登录发包,使用原理完全一样。
验证成功以后也就发包完了,如下图所示:
第三步:用hook搜索加密字符串
记住一定要拿刚发包完生成的加密字符串来搜索,在发包以前生成的字符串无效,因为它们已经不在内存中了。
用hook.search(字符串)搜索结果:
这样内存漫游插件就把生成“字符串”的函数全部列出来了。
点击生成的变量值,即url,即可定位到生成字符串的加密函数,如下图所示:
后面就是一点点分析代码抠代码了,跟其它抠代码流程一样。
本文主要向大家介绍这种内存漫游技术,技多不压身虽然一般网站用不到,但是说不家哪天遇到个风控严的网站,都加密了可以使用此技术。