声明:本文仅限交流学习使用,请勿使用在任何非法商业活动,禁止用于非法用途。否则后果自负。如有侵权,请告知删除,谢谢!

我们来玩个游戏吧, 看谁先接口加密参数, 游戏开始咯!

简介:

        一、分析接口

        二、定位参数 pre、_m_

        三、肝帝在线逻辑分析

一、接口参数定位.

接口提交表单信息分析, 通过工具请求接口, 可以得出headers里有个 pre 参数 与提交的表单中的 __m__ 参数(看这长度 32 位,我这样说你懂吧,多半是MD5)

二、pre

1. 首先我们需要解决的是headers里的pre。我当时找了一会没找到, 只好断 script 了, 一步一步慢慢断点, 发现就在源码里的第一个script 标签下, 刚开始断点到这里的时候代码是压缩的, 很好复制下来调式代码。

2. 调试代码呢最好不要格式化代码, 像这些压缩过的 JS 一般都存在 内存爆破。但是每个网站的爆破点不一定一样, 这就需要撸点头发了,秃了 自然就强大了。修改后的代码大概就长酱紫。

3.你以为调试完成结果输出跟浏览器中的js输出结果一样就完了吗? 不,, 心细的同学可以发现我本地调试的混淆JS跟 script 下的混淆JS, 说它一样吧但又不全是。我们先来看一下这串又长又粗 的变量。

4. 初步分析变量是由 base64 的加密而成的字符串组成列表,  随便拿其中一个参数看一下就知道了<(⊙﹏⊙)>, 这里我简单还原了混淆里面中的仅有的两个内存爆破代码, 附python代码; 一目了然, 无非就是对 base64 解密, 然后循环转 hes、ascii 编码, 一般这些都是储存一些什么 replace 、console、tostring、变量 等花里胡哨的功能。目的是什么呢, 就是让你多掉些人体多余毛发(开个玩笑)。

5. 剩下的就剩每次JS 善变 的问题了,  变量、函数有变, 功能总不变吧? 我相信没有这么闲的开发工程师会写这么多加密方法增加难度。即变真正有这么闲的工程师, 可能会改写加密方法, 但核心还是不变滴, 我们只需要正则 点♥? 匹配一下核心的参数, 亦或者闲麻烦直接使用selenium好吧。

7. python版代码

三、_m_

1.一步到胃, 直接来到加密核心, 32位(md5)? 大胆猜测, 懂? encrypt 又是什么妖魔鬼怪勒, 全局搜索一下。

2. 这下你是否又懂啦?  取了cookies 中 两个参数, 而且还是动态的, 兄弟萌,干他就完事了。

3. 核心的两个动态玩意就在下面了, 这列表啥意思啊? 无它, 绝壁又是转码什么的,老套路了>

4. 拿一个列表数据试试就晓得了, 这是不是很眼熟, cookies中的一小段值对吧?

5. 就剩最后一个难点了, 真的我不骗你! 这里 有两个方法: md5、sha1。既然我们前面都知道是动态的了, 这两兄弟肯定也是判定调用的, 这两个方法到底掉哪个呢? 取决与 cookies的值, 我们之前取了是不是有两个值变量 t 与 n,  取决与 t 这个值, 这个值有两种类型的数据, 至于什么时候掉哪个方法自己写了。

6. 附python半成品 _m_

 游戏结束 ~

                        逆向需要什么?

                                1. 耐心、细心、真心、黑心、爱你的心。

                                2. 多看、多学、多问。

                                3. 找些群虚心求教偶尔吹吹牛逼。

        兄弟萌, 我完事了, 又又又浪费半天时间。现在是TIMI时间, 下次再见啊~

JS逆向之去哪儿旅行 - - - 动态混淆相关推荐

  1. js逆向之常见的压缩和混淆

    js逆向之常见的压缩和混淆 在Web系统发展早期,Js在Web系统中承担的职责并不多,Js文件比较简单,也不需要任何的保护.随着Js文件体积的增大和前后端交互增多,为了加快http传输速度并提高接口的 ...

  2. Js逆向-猿人学(1)源码混淆

    猿人学爬虫题目第一题: <抓取所有机票价格>,该案例非常适合js新手入门. 题目链接:http://match.yuanrenxue.com/match/1 F12打开控制台,可见debu ...

  3. JS逆向-国税增值税发票查询平台的漫漫过程

    一.2019年下半年,因为工作需要,有大量增值税发票需要查询真伪,而且是每张必查,当时还不太懂爬虫原理,就用"C#+大漠插件+全球鹰验证码识别"写了个类似于按键精灵那样的桌面应用程 ...

  4. 爬虫破解瑞数js逆向动态混淆

    巧用selenium破解瑞数js逆向 实战站点:湖北省生态环境厅:http://sthjt.hubei.gov.cn/site/sthjt/search.html?searchWord=%E7%A2% ...

  5. python爬虫js逆向加密,Web爬虫处理参数js加密、js混淆、js逆向

    中国空气质量在线监测平台(https://www.aqistudy.cn/html/city_detail.html)在众多的练习中,关闭了前台数据信息的展示,也就是说现在网页是这样的: 但我们主要学 ...

  6. JS逆向寻找生成bid变量的加密算法,一顿操作猛如虎,结果发现原来是混淆代码

    分享一下最近我JS逆向的心得. 我最近使用Python爬取某个网站某个链接,用requests的get发送请求得到的status_code不是200,请求失败.在浏览器的开发者工具里查看该链接的详细信 ...

  7. 【Js逆向】__jsl_clearance ob混淆加速乐

    此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉. 前言 简单的Js逆向, 这是个不错的案例. 加速乐兄弟篇: 标题 链接 [Js逆向]__jsl_clearan ...

  8. 【Js逆向】__jsl_clearance 无混淆加速乐

    此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉. 前言 简单的Js逆向, 这是个不错的案例. 加速乐兄弟篇: 标题 链接 [Js逆向]__jsl_clearan ...

  9. JS逆向、破解、反混淆、反浏览器指纹——JS补环境框架

    JS逆向的主要思路一般有这几种 1,利用AST反混淆,因为用的就是AST混淆的,所以理论上应该都能用AST再返回去.但是实际操作好像不容易. 2,跟值,一步一步找到加密方法和密钥.现在很多混淆方法,把 ...

最新文章

  1. 算法入门经典-第七章 例题7-2-2 可重集的排列
  2. intimidated
  3. 10种CSS3实现的Loading效果
  4. html动画效果结束返回,javascript判断css3动画结束 css3动画结束的回调函数
  5. 第一百三十九期:11月数据库排行:排名前三数据库分数暴跌
  6. win10创建新的计算机用户名和密码错误,Win10开机提示用户名或密码不正确现象的解决办法...
  7. mfc this指针
  8. 计算机程序CP电子文献,电子文献标识
  9. selenium-窗口切换
  10. 商务与经济统计学习 --多个比率的比较、独立性及拟合优度检验
  11. 微信emoji表情编码的处理与储存
  12. 使用SplitContainer控件
  13. AI换脸,流行一阵儿了;其中原理你一定也明白!
  14. 单片机——神奇的中断嵌套实验
  15. python怎样分析文献综述_教你如何做文献综述
  16. Android短信数据库相关
  17. 苹果笔记本安装windows系统,在windows系统中一些快捷键的使用
  18. 外贸:圣诞新年祝福语语
  19. 迅雷起死回生背后的男人,竟然是雷军
  20. 如何解决 Iterative 半监督训练 在 ASR 训练中难以落地的问题丨RTC Dev Meetup

热门文章

  1. Python ACM模式
  2. 测试 软通动力软件测试机试_软通动力软件测试面试经验
  3. Linux 丢包分析
  4. 110款表白网站源码,搭建表白网站必备,总有一款适合你
  5. 远程视频监控之构思篇
  6. yum安装iostat命令时,提示No package iostat available. 错误:无须任何处理
  7. 2020最新Java面试合集,跳槽必看
  8. 世界上有哪几大杀毒软件??
  9. 【详解】面试必问:SpringBoot自动配置原理
  10. 【Benewake(北醒) 】中距 TF02-Pro 40m介绍以及资料整理