前程无忧搜索接口 JS 逆向:阿里系acw_sc__v2和Sign加密

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 前程无忧搜索接口 JS 逆向:阿里系acw_sc__v2和Sign加密

📊 前程无忧搜索接口 JS 逆向:阿里系acw_sc__v2和Sign加密

🔍 观察网页加密规律:阿里系acw_sc__v2

在分析前程无忧的搜索接口时,我们首先需要关注网页的加密规律。特别是阿里系的 acw_sc__v2 加密机制。这个加密机制通常与防护系统有关,旨在防止恶意访问和不正常的数据请求。acw_sc__v2 通常是在请求过程中动态生成的,它可能涉及到一系列复杂的加密算法和随机数据生成机制。观察这个加密规律有助于我们理解如何对请求进行正确的处理。

为了有效地解析 acw_sc__v2,我们可以使用浏览器的开发者工具进行深入分析。通过网络监视功能,我们可以捕获到与 acw_sc__v2 相关的所有网络请求。这一步骤包括查看请求的头部信息、参数以及响应内容。注意到 acw_sc__v2 的生成过程涉及到的一些关键数据,这些数据可能会在请求的不同阶段被动态生成和更新。

🕵️‍♂️ 请求捕获与分析

在捕获 search-pc 包的请求过程中,我们发现它会发起两次网络请求。第一个请求用于获取初始的响应数据,而第二个请求则用于获取实际的搜索结果。在这两个请求中,我们需要特别关注 signacw_sc__v2 的变化规律。

为了更好地理解这些请求,我们需要利用抓包工具分析每一次请求的具体细节。特别是要注意到 signacw_sc__v2 的值是如何随着请求的不同而变化的。这些信息将帮助我们在后续的操作中正确地生成和处理这些加密参数。

🔐 逆向 Sign 参数:HmacSHA256 加密分析

我们首先需要逆向 sign 参数的生成机制。通过分析请求的细节,我们发现 sign 参数使用了标准的 HmacSHA256 加密算法。这种加密方式基于一个密钥和数据,通过 HmacSHA256 算法生成一个哈希值。了解这个加密过程对于我们解密和处理 sign 参数至关重要。

为了进行逆向分析,我们可以使用多种工具和方法来模拟 HmacSHA256 加密过程。通过这些工具,我们可以生成与请求中 sign 参数相同的哈希值,从而验证我们的逆向分析是否准确。对于那些复杂的加密算法,逐步调试和验证是确保结果准确的关键。

🛠️ 逆向 acw_sc__v2 的加密过程

在逆向 acw_sc__v2 的过程中,我们首先需要获取第一次请求返回的 JavaScript 代码。

通过分析这些代码,我们可以找到生成 acw_sc__v2 参数的核心逻辑。获取 arg1 参数是关键的一步,它通常是 acw_sc__v2 生成过程中的一个重要中间值。

我们可以通过 XHR (XMLHttpRequest) 跟踪和栈断点调试的方式,找到加密过程的具体位置。在调试过程中,控制台打印 result 的值,确保它与第一次请求返回的内容一致。这一步骤帮助我们确认加密和解密过程中的数据一致性。

🔎 内部方法分析与代码还原

在进一步分析 acw_sc__v2 的加密方法时,我们发现 JavaScript 代码经过了 OB 混淆处理。这种混淆技术使得代码难以理解,但通过对混淆代码的深入分析,我们可以还原出加密的核心逻辑。

我们需要逐步解密和还原 JavaScript 代码,确保我们可以正确地理解和处理加密过程。通过直接分析和还原代码,我们可以确定加密算法和逻辑,从而在后续的操作中生成正确的 acw_sc__v2 参数。

📝 JS 代码与 Python 代码实现

在完成上述分析和逆向工程后,我们可以将得到的加密和解密逻辑转化为 JavaScript 和 Python 代码。这些代码将帮助我们在实际的应用中正确处理加密参数,并进行数据采集。具体的实现细节包括将 HmacSHA256 加密算法和 acw_sc__v2 的生成逻辑编码成实际的脚本和程序。

然后封装Python接口。

通过这些步骤,我们可以有效地理解和处理前程无忧搜索接口中的加密机制,从而实现数据的有效采集和分析。希望这些分析和实现能为您在处理类似问题时提供有价值的参考。

目录
相关文章
|
4天前
|
资源调度 前端开发 JavaScript
vite3+vue3 实现前端部署加密混淆 javascript-obfuscator
【11月更文挑战第10天】本文介绍了在 Vite 3 + Vue 3 项目中使用 `javascript-obfuscator` 实现前端代码加密混淆的详细步骤,包括安装依赖、创建混淆脚本、修改 `package.json` 脚本命令、构建项目并执行混淆,以及在 HTML 文件中引用混淆后的文件。通过这些步骤,可以有效提高代码的安全性。
|
24天前
|
存储 安全 Java
|
24天前
|
存储 算法 安全
SpringBoot 接口加密解密实现
【10月更文挑战第18天】
|
28天前
|
人工智能 JavaScript 网络安全
ToB项目身份认证AD集成(三完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法
本文详细介绍了如何使用 `ldapjs` 库在 Node.js 中实现与 Windows AD 的交互,包括用户搜索、身份验证、密码修改和重置等功能。通过创建 `LdapService` 类,提供了与 AD 服务器通信的完整解决方案,同时解决了中文字段在 LDAP 操作中被转义的问题。
|
7天前
|
前端开发 JavaScript 安全
vite3+vue3 实现前端部署加密混淆 javascript-obfuscator
【11月更文挑战第7天】本文介绍了在 Vite 3 + Vue 3 项目中使用 `javascript-obfuscator` 实现前端代码加密混淆的详细步骤。包括项目准备、安装 `javascript-obfuscator`、配置 Vite 构建以应用混淆,以及最终构建项目进行混淆。通过这些步骤,可以有效提升前端代码的安全性,防止被他人轻易分析和盗用。
|
1月前
|
JSON 前端开发 API
使用微信JS-SDK调用发票接口的完整开发指南
本文介绍了如何使用微信JS-SDK的`chooseInvoiceTitle`接口来调用微信的发票功能。通过微信发票接口,用户可以选择开具个人或单位发票,并获取相关发票信息,如抬头、税号、公司地址等。在文中,详细描述了JS-SDK的初始化、发票接口的调用方式,并提供了完整的代码示例。文章还介绍了如何处理返回的发票信息,帮助开发者快速集成微信发票功能。
73 2
|
2月前
|
JavaScript 前端开发 安全
js逆向实战之烯牛数据请求参数加密和返回数据解密
【9月更文挑战第20天】在JavaScript逆向工程中,处理烯牛数据的请求参数加密和返回数据解密颇具挑战。本文详细分析了这一过程,包括网络请求监测、代码分析、加密算法推测及解密逻辑研究,并提供了实战步骤,如确定加密入口点、逆向分析算法及模拟加密解密过程。此外,还强调了法律合规性和安全性的重要性,帮助读者合法且安全地进行逆向工程。
89 11
|
2月前
|
前端开发 数据安全/隐私保护
JS-RSA超长加密
JS-RSA超长加密
50 4
|
JavaScript 前端开发 数据安全/隐私保护
|
JavaScript 前端开发 网络协议
JavaScript加密解密7种方法
from:baiker 本文一共介绍了七种javascript加密方法:  在做网页时(其实是网页木马呵呵),最让人烦恼的是自己辛辛苦苦写出来的客户端IE运行的javascript代码常常被别人轻易的拷贝,实在让自己的心里有点不是滋味,要知道自己写点东西也挺累的......^*^  但我们也应该清楚地认识到因为javascript代码是在IE中解释执行,要想绝对的保密是不可能的,我们要做的就是尽可能的增大拷贝者复制的难度,让他知难而退(但愿~!~),下面我结合自己这几年来的实践,及个人研究的心得,和大家一起来探讨一下网页中javascript代码的加密解密技术。
1540 0