透明 IMAP 代理
Transparent IMAPs proxy
我想使用 python(pySocks 和 imaplib)从零开始实现一个透明的 IMAPS (SSL/TLS) 代理。
用户和代理在同一网络中,邮件服务器在外部(例如:gmail 服务器)。端口 993 上的所有流量都重定向到代理。用户应该使用他最喜欢的电子邮件应用程序(例如:thunderbird)检索他的电子邮件。代理应接收命令并将其传输到 user/server,并且应该能够读取检索到的电子邮件的内容。
但是,由于流量是加密的,我不知道如何获取用户的帐号和密码(不使用数据库)或者如何在不知道帐号和地址的情况下阅读邮件内容用户密码。
找了几天解决办法,还是没有任何踪迹。也许这是不可能的?如果你有任何曲目,我很乐意阅读。
谢谢。
您必须将代理实施为中间人攻击。这意味着有两种不同的 SSL/TLS 加密通信通道:一种在客户端和代理之间,一种在代理和服务器之间。这意味着:
- 客户端明确将代理设置为它的邮件服务器(如果只使用少数服务器,每个实际服务器使用一个 name/address)
- 代理拥有客户端信任的真实邮件服务器的证书。一种常见的方法是使用 虚拟 CA:代理有一个客户端信任的私有证书,可以像防病毒软件一样为任何域签署证书。
设置完成后,代理只需传递所有命令和响应,并即时处理收到的邮件。
我承认这不是一个完整的答案,但一个完整的答案将远远超出 SO 的范围,我希望它能成为通向它的途径。如果您以后在实际实施中遇到困难,请随时在这里提出更精确的问题。
我想使用 python(pySocks 和 imaplib)从零开始实现一个透明的 IMAPS (SSL/TLS) 代理。
用户和代理在同一网络中,邮件服务器在外部(例如:gmail 服务器)。端口 993 上的所有流量都重定向到代理。用户应该使用他最喜欢的电子邮件应用程序(例如:thunderbird)检索他的电子邮件。代理应接收命令并将其传输到 user/server,并且应该能够读取检索到的电子邮件的内容。
但是,由于流量是加密的,我不知道如何获取用户的帐号和密码(不使用数据库)或者如何在不知道帐号和地址的情况下阅读邮件内容用户密码。
找了几天解决办法,还是没有任何踪迹。也许这是不可能的?如果你有任何曲目,我很乐意阅读。
谢谢。
您必须将代理实施为中间人攻击。这意味着有两种不同的 SSL/TLS 加密通信通道:一种在客户端和代理之间,一种在代理和服务器之间。这意味着:
- 客户端明确将代理设置为它的邮件服务器(如果只使用少数服务器,每个实际服务器使用一个 name/address)
- 代理拥有客户端信任的真实邮件服务器的证书。一种常见的方法是使用 虚拟 CA:代理有一个客户端信任的私有证书,可以像防病毒软件一样为任何域签署证书。
设置完成后,代理只需传递所有命令和响应,并即时处理收到的邮件。
我承认这不是一个完整的答案,但一个完整的答案将远远超出 SO 的范围,我希望它能成为通向它的途径。如果您以后在实际实施中遇到困难,请随时在这里提出更精确的问题。