本文仅做研究使用.

研究的是一个移动的网站,12580惠生活https://hsh.12580.com/Login/login.html

观察抓包:


分2次请求,才得到了页面:


加入不处理cookie,直接进行第二次请求:

这样是获取不到数据的.

原因:

第一次请求获取了js代码,生成FSSBBIl1UgzbN7N443T这个cookie.带着这个cookie请求才是成功的,这也是今天要分析的.

目标:

由于第一次请求获取js代码的数据每次都是变化的,变量也是混淆的,因此要完美的破解的话,必须解决每次多变不一的混淆,因此我们的目标是这样,每次获取得到的js代码,直接使用一个eval来执行,伪代码:

function get_data(jscode){eval(jscode)return FSSBBIl1UgzbN7N443T}

思路:

按照以上的目标,分析还是要以单次获取的js来分析:

首先来观察下代码:

基本上是无法阅读的,细心看下:


String对象被替换了


window对象被替换了.

所以要查看如何调用的话,在代码里面基本读不出来了.

js 扒下来运行,发现

1.id="9DhefwqGPrzGxEp9hPaoag" 的content属性是一个关键的地方
2.window['$_ts'];这个也是解密相关的参数,是固定的,也可以抓出来.

接着来到了下一层的eval:


调用的关系是这样的:

eval.call(window,code)

源代码是这样的,但是我们在node中执行的时候就会出错.


出错的原因是:

_$DA函数没有定义
但是函数明显有定义:

由于我们的目标是不打算替换任何的代码和改变任何一处源代码的内容,所以我们打算深入的研究一下这个问题:
举例:


在浏览器中,我们定义了一个函数a和全局变量b,使用window[‘a’]和window[‘b’]来进行调用,发现是可以调用成功的

node中:

这样发现,函数a并没有添加到全局的global对象中.window[‘a’]和window[‘b’]均为undefined

这是一个非常有意思的结果.在浏览器中,var 定义的全局变量会加到全局window属性中去,函数也自动加到了全局为window调用.但是在node中却不会加到全局.

这个也是我们使用eval执行出现报错的原因.

解决办法:

使用遍历AST修改代码,将全局的var和代码第一层函数添加到window对象上去:

全局var

首层函数

这样就不需要改变任何代码内容就完美的解决了这个问题

剩下的所有分析都在第二层的eval中了.

有几个难点:

1.location.reload会一直重新加载页面,阻扰分析的进行,可以将这段代码屏蔽掉
2.canvas对象:
某数中不仅使用了2d的canvas画图也是用了webgl的3D画图,所以这一部分的模拟需要很认真.
3.检测的浏览器对象需要一一模拟,当然按照我们追求完美的结果的话需要这样

接下来python模拟请求:


后面还有一个参数MmEwMD会在接下来的日子里分享思路.

瑞数FSSBBIl1UgzbN7N443T分析相关推荐

  1. 瑞数(裁判文书)js的加密分析

    抓了半年多的裁判文书突然停了,查看log发现HTTP响应码全是202,分析页面发现原网站在cookie上做了加密.经分析正确的请求流程如下 1. 请求首页,返回两个set-cookie响应头,cook ...

  2. 瑞数动态安全:做一个牵着黑客鼻子走的移动靶心

    [51CTO.com原创稿件]依托于大数据分析技术.安全情报收集等技术的深入发展,目前安全检测技术对安全态势的分析越来越准确,对安全事件预警也越来越精准,主动防御成了2016年安全圈的主旋律之一. 客 ...

  3. 瑞数信息的“狩猎术”

    科技云报道原创. 远古时代,弱小的人类常遭猛兽攻击,为了生存人类转身成为狩猎者.面对猛兽,人类学会了制作各种狩猎武器,发展出更为高级的狩猎策略,或围猎,或驱赶,或设陷阱诱惑,将曾经威力无比的猛兽变成了 ...

  4. 某版本瑞数解决方案-爬虫

    某版本瑞数解决方案-爬虫 前言 工具 分析过程 JS获取 js代码分析 附代码 前言 本次采集的目标站点是江苏省农村产权交易信息平台,网址http://www.jsnc.gov.cn/jygg/tzg ...

  5. JS逆向之补环境过瑞数详解

    JS逆向之补环境过瑞数详解 "瑞数" 是逆向路上的一座大山,是许多JS逆向者绕不开的一堵围墙,也是跳槽简历上的一个亮点,我们必须得在下次跳槽前攻克它!! 好在现在网上有很多讲解瑞数 ...

  6. 【​观察】以双引擎动态技术破局,瑞数信息再定义传统WAF市场

    申耀的科技观察 读懂科技,赢取未来! 毫无疑问,今天的网络安全已进入无边界阶段,安全威胁.安全危机无处不在.但传统的安全防御手段,却始终无法跟上安全威胁发展的速度,特别是对中小企业而言,其所面临的安全 ...

  7. 【瑞数5】浅谈某普期刊JS逆向的环境检测点

    [瑞数5]浅谈某普期刊JS逆向的环境检测点 前言 JS加载流程 第一个JS 第二个JS 第三个JS AST简单解混淆 环境检测 前奏 异步执行JS流程 高潮 运行结果 总结 鸣谢 前言 这几天把某期刊 ...

  8. 爬虫漫游指南:瑞数的反调试陷阱

    爬虫漫游指南 瑞数的反调试陷阱 遇上有反爬的网站,第一反应肯定是要先打开开发者工具调试一波,于是,反爬工程师们就在此处设下了第一道防线.初级一点的,例如监听F12,禁用鼠标右键,作为防线的一部分,这些 ...

  9. 【瑞数】维普期刊搜索接口逆向总结_2_获取Cookie

    文章目录 前文回顾 提出问题 问题1:Cookie从何而来? 问题描述 hook查看`GW1gelwM5YZuT`何时生成 问题2:搜索页面不匹配 问题描述 抓包分析 如何获取"页面Cook ...

最新文章

  1. Linux 添加ssh 公钥访问
  2. CCNA课堂练习三:标准访问控制列表和扩展访问控制列表的区别
  3. Flash Builder 找不到Adobe Flash Player或者Flash Builder 找不到debug版本的解决方法
  4. mysql数据库维护重要性_建立MySQL数据库日常维护规范
  5. VScode与SumatraPDF反向搜索跳转问题
  6. 苹果ipad怎么刷机_白苹果如何修复,为什么会出现白苹果
  7. JavaScript设计模式——单例模式(闭包实现)
  8. python能用于unix吗_用Python实现低配的Unix Cron,一个能让程序在计划的时间运行的系统...
  9. 23种常见设计模式详解
  10. Excel如何提取文本左边的数字
  11. UI设计中的排版设计技巧
  12. 用电预付费系统在工业园区物业管理中的应用
  13. Python-玩转数据-动态地图
  14. JAVA 垃圾回收
  15. 情感分析的分类,情感分析模型有哪些,情感分析的应用场景,情感分析的发展趋势
  16. 内蒙古自治区律师事务所排名情况
  17. Docker学习1-基本命令
  18. FPS游戏中的同步算法
  19. 分页第一页用0还是1_码动未来,用0和1改变世界
  20. Excel导入数据库回滚

热门文章

  1. 嵌入式工程师的经典面试题目及答案
  2. linux 编译配置内核路由功能,Linux下多播路由的实现-网管专栏,防火墙和路由
  3. ctfshow 萌新22 (类似级客巅峰web4)
  4. JAVA对接海康威视开发文档
  5. SpringMVC基础三
  6. 坐标反算用计算机怎么算,卡西欧5800计算器坐标正反算程序
  7. 对于MCU看门狗IIWDG WWDG喂狗时间的配置参考
  8. JavaScript 教程「6」:数组
  9. hdu 50722014鞍山现场赛C题(容斥原理+同色三角形)
  10. STM32F0xx_PWR低功耗配置详细过程