专栏首页Python绿色通道JS逆向 | 无限Debugger之淘大象

JS逆向 | 无限Debugger之淘大象

置顶公众号

今天继续和大家研究JS逆向,不少小伙伴在JS逆向的时候遇到过无限debugger的反爬,今天就拿一个网站练练手感受下无限debugger。

分析请求

先打开这次的目标网站--淘大象(https://taodaxiang.com/credit2)

打开「开发者工具」就自动进入debug,我们先格式化看看能不能通过重写函数解决。

显然不是很好解决,所以我们试试通过「条件断点」的方法绕过这个反爬。

我们在 3393 与 3395 行右键添加「Add Conditional breakpoint」并在出现的对话框中输入「false」,这个时候无限debbuger的反爬就被我们绕过了。

虽然这里很快就绕过了反爬但是「条件断点」有一定的局限性,这里推荐一篇文章以供学习,就不再赘述。

https://segmentfault.com/a/1190000012359015

解决完反爬措施,我们刷新页面查看页面请求,很快就定位到请求接口、加密参数等信息。

请求接口:

加密参数 sign :

定位加密位置

通过抓包请求我们定位到了接口和加密参数,我们试着通过搜索sign关键字定位一下加密位置。

通过搜索我们找到三个包含关键字的文件,通过检索文件,很快定位到了sign值加密的位置:

分析加密

很明显这个js文件经过一定程度的混淆,现在有两种方法解决:

一是直接扣代码,绕过debugger之后扣这个代码不要太简单。

二是通读加密,直接改写成python加密。

这个加密比较简单,整体是md5加密这点通过分析请求可以猜到,多次请求加密都不变,接下来就是分析是哪些字段加密成md5值。

这里比较明显的是js中的两段代码:

_0x2c114b['XDFEp']这个方法是将字符串拼接

_0x2c114b['zANjZ']这个方法是取字符串的MD5值

经过断点调试,发现最后字符串是由「查询的关键字」+ 「固定的key」+ 「查询的关键字」+ 「type参数值」拼接成的。

比对两种方式,通过python方法改写更加方便,主要代码如下:

到这里这次的分析的网站 -- 淘大象 就被我们攻克了,这次的网站加密不是很难,主要难点是分析请求时的无限debugger。

其实其他同类型的网站还有很多,我推荐大家阅读下面的文章,文章提到了其他解决debugger的方法希望对你有帮助。

本文分享自微信公众号 - Python绿色通道(Python_channel)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-03-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python爬虫进阶必备 | X中网密码加密算法分析

    aHR0cHM6Ly9wYXNzcG9ydC5rb25nemhvbmcuY29tL2xvZ2lu

    叫我龙总
  • Python爬虫进阶必备 | 关于 AES 的案例分析与总结(一)

    上次咸鱼对关于 AES 的JS加密方法做了总结,这次把咸鱼遇到的 AES 的案例做了汇总,这个汇总系列会持续更新,攒到一定数量的网站就发一次。

    叫我龙总
  • Python爬虫进阶必备 | X笔网密码加密分析

    有读者朋友纠结于搜索password = or password:这样需要搜索两遍是不是浪费时间了,不如直接搜索password来的方便快捷。

    叫我龙总
  • JS逆向 | 无限Debugger之淘大象

    今天继续和大家研究JS逆向,不少小伙伴在JS逆向的时候遇到过无限debugger的反爬,今天就拿一个网站练练手感受下无限debugger。

    咸鱼学Python
  • JAVA中的加密算法之双向加密(一)

           加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。大体上分为双向加密...

    幽鸿
  • 网络犯罪分子正利用RIG EK大肆传播恶意加密货币挖矿机

    “用指尖改变世界” ? 来自网络安全公司Malwarebytes的安全研究人员Jerome Segura最近分析了一起基于RIG EK(漏洞利用工具包,Expl...

    企鹅号小编
  • Google 与甲骨文Java 使用权大战,开发者赢了

    2010年,甲骨文将谷歌告上法庭,称 Google 安卓系统有37个应用程序接口(API)侵犯了其编程语言Java的版权,并据此要求高达90亿美元的赔偿。6年...

    用户1667431
  • FileOutputStream vs. FileWriter

    两种方法都可以写文件,但是使用FileOutputStream和FileWriter有什么分别呢?

    哲洛不闹
  • FileOutputStream vs. FileWriter

    当我们要用Java写文件时通常有两个方法:使用FileOutputStream或者FileWriter。

    哲洛不闹
  • Nebula 架构剖析系列(一)图数据库的存储设计

    在讨论某个数据库时,存储 ( Storage ) 和计算 ( Query Engine ) 通常是讨论的热点,也是爱好者们了解某个数据库不可或缺的部分。每个数据...

    NebulaGraph

扫码关注云+社区

领取腾讯云代金券