打开网站–企名片

主要是破解企业数据列表的加密,红框圈起来的
链接:企名片

直接请求网站,response 响应的信息里面没有想要的数据,那应该就是js动态加载的数据,所以直接点击 XHR 你就会看到

这两个请求响应的信息里面都有一个超长的加密字符串,所以大胆猜测一下,应该就是我们需要的数据,其他的点进去啥也没有。

然后怎么去解析这个参数呢?

解析加密数据 encrypt_data

最简单,直接的就是直接根据 encrypt_data 这个键直接去 js 中搜索,最后会在下图中找到

下面就是打断点,刷新页面,一步一步去找到这个在 js 中是怎样解析的。这是最直接的办法,下面说一下正常的流程,因为是 post 请求,所以就可以打 XHR 断点,怎么打这个断点呢

在 source 中选择 XHR BreakPoint,点击它右上角的加号,在框内填入要打断的 URL,或者唯一的关键词就行,我填的 productListVIP, 然后刷新页面, 一步一步去运行,找到解密的位置,直接抠出 js 执行 js 而不用去纠结它具体是咋解密的,只需要结果。

打断点找位置


打断点的时候最好在object前也打个断点,不然有时候就直接结束了,没有进入断点。
刷新,点击下一步

会找到这个方法,找到这基本就差不多了,可以看到方法中调用了一个 s 方法,s 方法中6个参数, 有5个是固定的,所以这就更简单了。只需要去找一下这个decode 方法

找到了,只需传一个t ,而这个t 就是我们加密字符串

再回头找好 s 方法,直接将这几个 js 抠出来,使用 Python 执行 js 的库,执行 js 就 OK 了
o 方法返回的是一个 object 对象,在 Python 中不能正确接受,所以将其转换为 base64 返回。
所以需要稍微改一下

function my_o(t) {return new Buffer(s("5e5062e82f15fe4ca9d24bc5", mydecode(t), 0, 0, "012345677890123", 1)).toString("base64")
}

改成这样,其他的不变

function mydecode(t) {var c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var f =  /[\t\n\f\r ]/g;var e = (t = String(t).replace(f, "")).length;e % 4 == 0 && (e = (t = t.replace(/==?$/, "")).length),(e % 4 == 1 || /[^+a-zA-Z0-9/]/.test(t)) && l("Invalid character: the string to be decoded is not correctly encoded.");for (var n, r, i = 0, o = "", a = -1; ++a < e;)r = c.indexOf(t.charAt(a)),n = i % 4 ? 64 * n + r : r,i++ % 4 && (o += String.fromCharCode(255 & n >> (-2 * i & 6)));return o
}

s 方法就不贴了,太长了,使用 execjs 执行js, 完成

结束!

详细代码可以添加微信公众号回复1获取

js逆向,破解企名片网站的加密参数相关推荐

  1. js逆向之企名片加密参数encrypt_data的破解

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_38534107/article/ ...

  2. 【2020-09-29】JS逆向之企名片encrypt_data数据解密--超详细

    声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢! 项目场景: 企名片网址:https://www.qimingpian.cn/finosda/project/ein ...

  3. js逆向破解 —— 懂车帝视频链接

    背景 话说下午有一朋友发我一链接懂车帝某视频,让我帮忙看一下这个网页中视频链接是怎么获取的.我断断续续地花了两三个小时,最后终于把它给拿下了.在整个分析的过程中,我觉得还算是有点意思,所以写下这便博客 ...

  4. JS逆向之常见编码和混淆加密方式(二)

    继上篇讲到JS的一些常见编码加密方式后,本篇继续讲解一下编码加密方式. JS加密方式: 1.HMAC 加密 2.DES对称加密 3.AES 对称加密 4.RSA 非对称加密 5.https 对称密钥加 ...

  5. (四)Python反爬实战---JS反爬之某网站portal-sign验证参数加密

       python反爬经验实战,适合小白入门,新手提升,大牛晋升.包含本人目前遇到反爬汇总,文章一周2-3篇,为了质量考虑,更新较慢,敬请谅解.购买专栏私信博主加微信,可无偿提供学习辅助. 考虑到新手 ...

  6. 助力小白常见JS逆向乱杀喂饭教程——Url加密

    专栏作者:战俘巡航,爬虫工程师,具有丰富的Python数据采集经验. 最近,读者希望公众号能出一些JS逆向的干货教程,所以,安排! 首先不知道能写多少简单易懂的逆向内容供小白们吸收学习,目前先不讲混淆 ...

  7. python爬虫二十四:js逆向破解(一)

    1.环境搭建 通过python代码模拟js去生成加密数据完成数据破解,需要用到PyExecJS模块 ①安装模块pip install pyexecjs通过模块的方法来读取js代码,也可以用js2py( ...

  8. JS逆向之webpack打包网站实战

    前言 最近学习的进度有点缓慢,前段时间研究了下极验的滑动验证的js,怎么说呢,难度还是可以的,之后会写关于极验的一个流程跟加密破解的过程,在这之前呢,我们先了解下另一个知识点---webpack,会对 ...

  9. JS逆向必会基础案例 | 百度翻译参数破解

    前情回顾:有道翻译参数破解 在上一篇博客中,我们系统地分析了有道翻译的JS逆向过程.不难看出,JS逆向其实就是用Python重新来复写Javascript的代码.但当JS代码很长时,弄懂里面的逻辑关系 ...

最新文章

  1. 容器架构向无服务架构的演进—深圳站
  2. 上海交大情感脑电数据集(SJTU Emotion EEG Dataset,SEED)
  3. jpa怎么传参到in中_Spring Boot中的测试
  4. ESP32在Ubuntu16.04的环境搭建
  5. 使用 Boost.MPI 的 all_reduce() 计算最小值的示例
  6. spring test教程
  7. Zilliqa联合创始人:ZIP-12提案已成功部署,为未来的治理投票奠定基础
  8. XML DataBase之Xindice(二)
  9. idea创建maven工程_maven创建父子工程 springboot自动配置
  10. 03. Use const whenever possible
  11. MT4指标安装方法,以MACD红绿柱黄白线双线macd为例
  12. java开发利用jacob将word转pdf
  13. html css字体最小,css字体最小是多少?
  14. 前端和后端开发哪个工资高?
  15. 计算机网络机房需要气体灭火吗,机房排烟和机房消防要求有哪些
  16. svg动画 html,30个超棒的 SVG 动画展示【上篇】
  17. Codeforces Problem-133A HQ9+
  18. Java编程语言介绍
  19. stm8l+sx1278: 1278发送完成中断TxDone处理
  20. 宝塔linux面板访问不了

热门文章

  1. jlink怎么调试linux程序_使用jlink+gdbserver+insight调试ARM程序--配置insight
  2. RXD and dividing
  3. 软考系统架构设计师备考
  4. 剑侠情缘gm后台php怎么用啊,剑侠情缘搭建教程
  5. 【剑侠情缘服务端】武侠题材角色扮演类手游源码+手工外网端+安卓APP+视频教程
  6. 计算机的加减乘除的英文,用英语表达加减乘除,加减乘除用英语怎么说
  7. 林云挂余量机器人使用教程
  8. 高级测试工程师需要具备哪些能力?看完我悟了
  9. SIM卡尺寸标准以及Allegro封装
  10. 电容感应触摸屏工作原理