js逆向技巧(持续更新)

防止改包方式

主要是这么几个方面

1. 请求参数和路径的加密(靶场未实现)
  • 如果原始请求是GET请求,或防止访问者获取请求路径,通常会将用户实际的请求路径和GET请求参数封装都封装为POST请求的请求体,通过加解密网关再还原为原始GET请求传入后端分布式服务上。 在APP中比较常见。

    表现的形式通常为: 抓包后发现访问任何功能都是同一路径,并且请求全为密文

2. 请求体的加密
  • 这类在纯web中最常见, 通常仅仅加密接口请求的请求体内容,但有以下几类加密问题。
    • 使用固定密钥 --- 顾名思义, 这种情况一般JS中会存储密钥, 属于最简单的一种
    • 使用动态密钥 --- JS中不存储,一般用户第一次请求后将密钥加密写入COOKIE或本地存储中, 这类加密追踪难度较大。
    • 对称加密 --- 加解密数据包内容同一套密钥
    • 非对称加密 --- 加密一套解密一套
    • 算法 --- 算法就不是特别固定了, 常见的诸如AES RSA等, 也遇到过使用国密算法或一些冷门算法。
3. 签名
  • 签名的应用也十分广泛,app,小程序和现在许多web中均存在,签名的构成主要是以下几点
    • RequestId --- 为了防止重放攻击, 客户端生成随机RequestId 服务端接收后保存至Redis中, 如果再次接收到此RequestID, 则视为非法请求
    • 时间戳 --- 添加时间戳的超时时间, 一旦超时, 原始数据包失效
    • 签名本身 --- 通过 requestId + 原始请求体或请求参数 + 时间戳 + 盐值合并生成哈希值 从而保证以上参数的有效性和唯一性
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 我没有具体的指导,但是可以给你一些建议:首先,可以研究一些已经实现的逆向JS的解决方案,然后根据你的需求来实现你所需要的功能;其次,可以在网上搜索一些关于Python和JS逆向的教程,并且结合实践来掌握这些技术;最后,可以在社区中寻求帮助,可以得到其他更有经验的人的建议。 ### 回答2: Python和JavaScript是两种常见的编程语言逆向工程指的是通过分析和理解已编译的代码来了解其内部机制和工作原理。下面将简要介绍关于Python和JavaScript逆向教程。 对于Python逆向来说,首先需要了解Python的字节码和内部数据结构。可以通过使用dis库来反编译Python代码并查看生成的字节码指令,进而分析其执行过程。另外,还可以使用反汇编工具来反编译Python的.pyc文件,以便更深入地研究其运行机制。 在JavaScript逆向教程中,首先需要学习JavaScript的语法和基本概念。然后,可以使用开发者工具来查看JavaScript代码的执行过程和调试信息。此外,还可以使用JavaScript反编译工具来将经过压缩或混淆的JavaScript代码还原为可读性较高的形式,以方便分析和理解。 不管是Python还是JavaScript逆向,重要的是要有良好的编程基础和对底层机制的理解。通过阅读相关文档、学习逆向工程技巧,并进行实践和实际项目中的应用,可以逐渐掌握逆向工程的技能。 总结起来,Python和JavaScript逆向教程涉及到反编译字节码、反汇编.pyc文件、使用开发者工具和反编译工具等技术。通过学习相关知识、实践和实际项目应用,可以逐步掌握逆向工程的技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_1136014935

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值