加密后的前端数据->?解密数据,映射接口地址->后端明文->?加密数据->前端解密
要求前端 F12 看到的请求数据是加密的
加密后的前端数据->?解密数据,映射接口地址->后端明文->?加密数据->前端解密
要求前端 F12 看到的请求数据是加密的
|
noe132Jul 10, 2023 via Android
1
前端加密最多就是个混淆的效果。最简单的把请求体用 aes 过一遍就行
|
|
tool2dJul 10, 2023
3
前端不用 json 就行了.
我前端都是 gRPC 之类的二进制数据,F12 要处理还挺麻烦的。 |
|
4
99%的前端应该不会花大力气去写代码处理二进制数据。
托了 wasm 福气,我就是那个 1%的少数人群。 |
|
u20237Jul 10, 2023
5
我懂一点点后端相关的技术,但我不太懂前端,我讲出来了 过了一段时间就被破解了。。。
加密/混淆方法是有时间限制的,不太可能做一个长时间都不会被破解的方法 |
|
xiangyuecnJul 10, 2023
6
RSA 加密,公钥可以放前端。不用去考虑什么二进制不二进制的 还有 性能不性能的。不用考虑 AES 。
|
|
xiangyuecnJul 10, 2023
7
😂漏了,服务器端数据还要加密,那还是 AES 吧
|
|
linaurorJul 10, 2023
8
要想做靠谱点,就使用非对称加密,比如 RSA ,对称加密在前端加密,还是会被搞出来
|
|
mdnJul 10, 2023
9
AES + RSA
1. 前端 js 随机生成 AES key 2. AES 加密 data ,RSA 公钥加密 AES key 3. {key:..., data: ...} 传给后端( AES key 是 js 随机生成在内存中,前端代码中也没有 RSA 私钥,理论上是 key 保密的,用户自己也无法拿到) 4. 后端收到数据 RSA 私钥解密 key ,在用 AES key 解密 data 5. 接口返回数据 RSA 私钥加密 key ,key 加密返回数据,回传给前端(因为公钥是存在前端代码中,所以无法完全保密) |
|
KagurazakaNyaaJul 10, 2023
11
试试 ECDHE 握手+AES 加密,参考 tls 的四次握手做法就好了
|
|
lianyueJul 10, 2023
12
body 数据带 gzip,br 压缩?? Content-Encoding gzip
Content-Encoding br ??? |
|
walpurgisJul 10, 2023 via iPhone
15
这种都是伪需求,如果都能开 f12 了,无论什么加密方式,直接在前端加密函数上打个断点,所有数据都出来了
|
|
fzlsJul 10, 2023
16
你的数据在客户端使用的时候不是明文的吗-。-难道全程都是加密状态吗
|
|
liantianJul 10, 2023 via iPhone
17
其实站在安全的角度,这样不好…
你的加解密对于 waf 那是天书,对于有些模拟操作的渗透工具是儿戏… 除非后端是输入输出验证全部都自己做的很好… |
|
KagurazakaNyaaJul 10, 2023
18
@walpurgis 可以用 wasm 写,这样要打断点就相当麻烦了
|
|
zsj1029Jul 10, 2023
19
https 不用担心中间人
如果为了防止重放攻击,客户端调试破解请求,才考虑上加密 js 的普通混淆加密,可被解读,所以除了 wasm 没有真的好办法 |
|
Cosmic4764Jul 10, 2023
20
还是二进制好一些把,不论什么是传参还是 file 文件,都转成二进制发送。
|
|
walpurgisJul 10, 2023
21
@XiLingHost wasm 内的数据最终还是要从 js 进出的,对于 js 来说 wasm 就是一个黑盒函数而已,我想拿数据并不需要了解它的实现,我可以在它外面打断点直接调用它
|
|
amleeJul 11, 2023
22
我感觉是伪需求,前端只要能开 f12 ,无论如何都能拿到数据。只要在前端加密前,解密后,打上断点就行
|
|
KagurazakaNyaaJul 11, 2023
23
@walpurgis https://www.egui.rs/ 参考这个,你觉得该怎么打断点
|
|
dengshenJul 11, 2023 via iPhone
24
看看谷歌的接口吧。数据看起来全是乱码
|
|
mdnJul 11, 2023
26
二进制只是一种编码形式,没有加密,直接解码就能得到内容
|
|
jianyangOct 7, 2023
27
我认为前端最大的加密就是混淆
不管你用什么加密方式你重要写在 JS 中吧、前端逆向最麻烦的点应该在于处理各种混淆 至于数据加密时间戳什么的、只要你对你的混淆有足够的信心、随便写个位移算法就够了 |