JS逆向之大众点评mtgsig

这篇具有很好参考价值的文章主要介绍了JS逆向之大众点评mtgsig。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本教程仅限于学术探讨,也没有专门针对某个网站而编写,禁止用于非法用途、商业活动、恶意滥用技术等,否则后果自负。观看则同意此约定。如有侵权,请告知删除,谢谢!

目录

前言

一、先分析下接口参数

二、开导mtgsig

1.找加密入口

2.扣算法

3.验证算法


前言

最近了工作也不是很忙了,也不知道搞哈网站,今天就来搞搞大众点评的mtgsig网站如下👇
aHR0cHM6Ly9tLmRpYW5waW5nLmNvbS9zaG9wbGlzdC8xL3NlYXJjaD9mcm9tPW1fc2VhcmNoJmtleXdvcmQ9JUU5JUJCJTkxJUU2JTlBJTk3JUU2JTk2JTk5JUU3JTkwJTg2


提示:以下是本篇文章正文内容,下面案例可供参考

一、先分析下接口参数

1.先来看下加密的isoapi/module路由接口,其中的mtgsig就是加密的字段了,a1、a2明文其它未知,d1长得挺像md5的

JS逆向之大众点评mtgsig

 2.然后提交的表单呢也有个_token的加密字段,怎么说呢,总体看着有点像base64的编码,好了,接下来就可以开始我们的逆向分析了

JS逆向之大众点评mtgsig

二、开导mtgsig

1.找加密入口

先看下堆栈,搞过来网站有了一点的经验一般入口都是在anonymous中,多看几个就知道是哪里了,第一个anonymous是混淆的直接就生成了mtgsig,其它的呢看着也不太像先看下tryCatch

JS逆向之大众点评mtgsig

进来呢就是异步操作,进入看下它执行的异步函数内部是什么鬼玩意

 JS逆向之大众点评mtgsig

 先大概大胆的猜测一下这个switch干了什么鬼操作,case 24 这个跳转应该就是变量的初始化定义了,case 13 就是堆加密的内容赋值了,其它跳转肯定就是加密入口或者是其它七七八八的小操作

 JS逆向之大众点评mtgsig

 通过漫长的单步跟,来到case 47处,这里可以看见它将一些请求头、参数、请求方法等初始化好了,传入了一个叫 h2 的函数中,这个函数想必就是加密入口了,ojbk进入看看

JS逆向之大众点评mtgsig

进来又是异步操作,跟我搁这套娃呢???,大致看下它干了啥,看着一个像是get与post的判断,又或者是版本的判断,这玩意不管,扣加密就对了,调用gW可以看到mtgsig加密结果出来了,肝它

 

 JS逆向之大众点评mtgsig

2.扣算法

大概的解读一下hr ? g4 : g5之前的操作干了什么,已知 hq、hr明文,hI是URL的路由参数并进行了b(1143)·sort·自定义排序函数,全扣也好还原也罢,这么快怎么来吧这里没啥难度

JS逆向之大众点评mtgsig

 然后看下g4了,这个g4呢其实也不难,它目前好像还不校验这个参数,全局查找一下g4,欸可疑的地方不就来了吗,断点上看看什么鬼玩意

JS逆向之大众点评mtgsig

 步入看下,好像把一些浏览器环境啥的给加密了,cw就是编码转换没啥东西,主要还是看看dd干啥了JS逆向之大众点评mtgsig

 一进去就看见欸,AES?那没事了,经过后期的测试也发现这个值应该没有检测那就用AES模仿一下就好了,跳过它

'h1.3' + CryptoJS.AES.encrypt(timer.toString(), CryptoJS.enc.Utf8.parse('z7Jut6Ywr2Pe5Nhx'), {
        'iv': CryptoJS.enc.Utf8.parse('0807060504030201'),
        'mode': CryptoJS.mode.CBC,
        'padding': CryptoJS.pad.Pkcs7
    }).toString(CryptoJS.enc.Base)

JS逆向之大众点评mtgsig

好了恶心的东西它来了,switch循环语句,仿佛看见太奶在向我招手,四五百行代码,不过淡定不慌量大而已小问题😓,到这里某些人可能就不会扣了,当然你也可以补环境,这里就不展示补环境的操作了,单扣算法,还原呢?你都单扣出来了还原python算法还难吗?

JS逆向之大众点评mtgsig

 如果经验不足可能就有些棘手,不过问题不大,慢慢来总会有导出来的一天,这里呢就不展示怎么扣了,大概说下重点,就自己慢慢单扣了,这循环中主要是在于其中的两个call,这两个是重中之重,断上点多调试几次你就找到其中奥妙了

JS逆向之大众点评mtgsig

 像这些push了函数入参的你就要注意了,这些都是加密要用的转码操作,可千万不要遗漏掉了,不然加密可就对不上了

 JS逆向之大众点评mtgsig

 像这些带有运算的也记得插上装,免得遗漏了算法运算的内容,小提示:d1的后半部分就靠这些运算得出的,最好都打上日志

JS逆向之大众点评mtgsig

 最后呢,你的每一步运算结果都必须对得上scope中的参数值,不然有些小伙伴就找不到北了,哟呵为什么我加密不能用😀

JS逆向之大众点评mtgsig

3.验证算法

阿巴阿巴,莫名其妙的就扣完了,欸呀呀完事

JS逆向之大众点评mtgsig

 最后验证一下结果能不能用吧,OJBK,结果当然是能用的啦

JS逆向之大众点评mtgsig


总结

好了到此文章就结束了,还有一件事,d1后半部分是运算过的注意了, WEBDFPID的生成很简单,至于_token嘛,置空都可以暂时没用上就没写上面了,WEBDFPID的话呢也是随机数所以啊,固定就行了,反正后端应该没有检测置空都可以,也有可能是蜜罐让你进去在封IP至于属于哪一种自己测试咯,拜拜~

JS逆向之大众点评mtgsig文章来源地址https://www.toymoban.com/news/detail-477071.html

到了这里,关于JS逆向之大众点评mtgsig的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用影刀采集大众点评数据:打造自动化数据采集工具

    在本教程中,我将向大家介绍如何使用影刀(YinDao)来采集大众点评的数据。影刀是一款强大的自动化流程处理工具,可以帮助我们自动执行网页操作、数据提取等任务,极大地提高了数据采集的效率和准确性。通过本教程,你将学会如何使用影刀来构建一个自动化的数据采

    2024年04月17日
    浏览(57)
  • Js逆向教程-05明确js逆向的目标

    通过本地运行js代码那 实现脱离浏览器后 能够实现和浏览器上运行加密js的效果。 网站上完全都是JavaScript实现的加密,我们的目的要知道加密的整个过程,并且 本地 实现这个加密的过程,拿到和浏览器一样的加密的结果。 得到加密的结果之后就可以跳过浏览器,本地直接

    2024年02月10日
    浏览(40)
  • 【JS逆向学习】36kr登陆逆向案例(webpack)

    webpack 是一个基于模块化的打包(构建)工具, 它把一切都视作模块 webpack 数组形式,通过 下标 取值 webpack 对象形式,通过 key 取值 接口 : https://gateway.36kr.com/api/mus/login/byMobilePassword 加密参数 : - mobileNo - password 老规矩,先输入 账号、密码 ,点击登录,分析网络请求,如下

    2024年01月19日
    浏览(114)
  • 【爬虫逆向案例】某道翻译js逆向—— sign解密

    声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢! 相信各位小伙伴在写爬虫的时候经常会遇到这样的情况,一些需要携带的参数一直在变化,今天逆向的这个网站某道翻译也如此: 可以发现变的就两个参数,一个 sign,一个是 m

    2024年02月15日
    浏览(45)
  • 某团mtgsig2.3-unidbg

    只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢! 最新的版本应该是2.4还是2.5了, 但是 用unidbg调试会失败,所以用老版本2.3 ,但是 api请求依然会403 ,所以只能构造出mtgsig(具体原因后面分析有写) 更新: 现在这版本的app已经无法正常使用了

    2024年02月06日
    浏览(39)
  • js逆向技巧

    一、总结 搜索:全局搜索、代码内搜索 debug:常规debug、XHR debug、行为debug 查看请求调用的堆栈 执行堆内存中的函数 修改堆栈中的参数值 写js代码 打印windows对象的值 勾子:cookie钩子、请求钩子、header钩子 二、js逆向技巧 博客对应课程的视频位置: 当我们抓取网页端数据时

    2024年02月06日
    浏览(42)
  • JS逆向吐环境

    这里调用时机是webpack加载器加载完成后的吐出 1.定位加载器  2.断下目标模块  1.加载完成后,s=fu(t), 可以看到明显的加载器,手扣太费劲,直接输出吧  可以看到明显的模块函数,随便测试一个 把函数转为字符串,调用的函数环境都在这里了,然后把他们丢进(window[\\\"webpac

    2024年02月08日
    浏览(32)
  • JS逆向 webpack解密

    声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢! 前言:我技术可能不是很牛逼,但我很会偷懒,怎么简单怎么来,所以有更好的解密方法可以在评论区评论~ 目标网站:这个网站很坑,那个验证字段搜不到,XHR断点也断不到,就

    2024年02月06日
    浏览(34)
  • js逆向——webpack扣法

    01 webpack讲解 webpack 是个静态模块打包工具,目的是为了让前端工程师写的前端代码变成浏览器可以识别的代码,并且可以达到前端项目的模块化,也就是如何更高效地管理和维护项目中的每一个资源。 但无疑是对 js逆向 造成了妨碍。但如果掌握了扣取 webpack 的一些技巧也是

    2024年02月03日
    浏览(41)
  • 【JS逆向一】逆向某站的 加密参数算法--仅供学习参考

    逆向日期:2024.02.06 使用工具:Node.js 文章全程已做去敏处理!!!  【需要做的可联系我】 可使用AES进行解密处理(直接解密即可):在线AES加解密工具 1、打开某某网站(请使用文章开头的AES在线工具解密):T9mpG48zIdYFB40hkjsQS4+N5rr4x4mSPHlx5EoT/+s= 2、点击右上角的登录按钮,账号

    2024年02月22日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包