gpt4 book ai didi

ssl - TLS/SSL 解密

转载 作者:行者123 更新时间:2023-12-04 22:35:49 26 4
gpt4 key购买 nike

我需要解密应用程序通过 HTTPS 协议(protocol)发送的请求。据我了解,我需要像 MITM 攻击那样做。我为此使用了 Charles 和 Fiddler,但用于解密来自浏览器的 HTTPS 请求,例如Firefox 我需要在其中制作 Charles 的可信证书。但是如何在我无法信任我的证书的应用程序中做到这一点?有什么方法可以在全局范围内为操作系统执行此操作?

最佳答案

客户端通过连接协议(protocol)版本(2 字节)和客户端随机生成的一些字节(46 字节)来生成 48 字节的预主 key 。客户端应该从操作系统提供的 PRNG 中获取这 46 个字节(/dev/urandom,CryptGenRandom()...)。

基本上在打招呼和决定密码之后,说他们同意 RSA key 协议(protocol)。

然后客户端使用服务器的 RSA 公钥(服务器之前在证书消息中发送给客户端的 key )加密 48 字节的预主 key 。加密后的结果是客户端作为 ClientKeyExchange 消息发送给服务器的。

服务器使用它的 secret key 来解密消息并获得预主 secret 。

如果您控制服务器并拥有证书/私钥 - 在我看来 Charles Proxy 不支持此功能。但 mitmproxy 支持为特定域提供固定证书。

否则,如前所述,一些应用程序(大多数不使用)使用证书固定,您需要修补(或破解)应用程序代码以禁用它,这是一个答案: Charles Proxy for Mobile apps that use SSL Pinning .

一些库将生成的 PSK(预主 key )记录到在环境变量 ex 中定义的文件中。 ( export SSLKEYLOGFILE=~/.ssl-key.log ),但我不确定 Android 是否如此。

底线;没有通用的方法可以做到这一点,这取决于很多因素。

关于ssl - TLS/SSL 解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51488859/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com