在 SSL 连接中,GET 或 POST 部分是加密的。例如:访问者:https : //www.yoursite.com/shoppingcart.aspx
www.yoursite.com visible
GET /shoppingcart.aspx encrypted
HTTP/1.0 encrypted
您正在考虑的称为推理攻击,攻击者只需少量信息,就可以将拼图拼凑在一起。所以你问:
如果黑客知道该站点的功能以及预计将下载或发布到该站点的内容,我猜他将能够仅通过每个 https 请求/响应的数据大小来大致计算出用户在做什么。
情况不一定如此。同样,由于 GET 和 POST 都是加密的,因此在一定程度上这将是一个毫无价值的猜谜游戏。考虑以下:
示例 A
Site contains 1mb file called topsecret.docx
Visitor uploads a 1mb video of cats
你会看到什么:
Site <--> 1mb session <--> Visitor
因为 GET 和 POST 都是加密的,所以您无法确定用户是下载还是上传。你所看到的只是一个 1mb 的交换。任何攻击者都会在玩猜谜游戏时浪费大量时间和资源,但请考虑组合中的第三个站点。
示例 B
Site A contains 1mb file called topsecret.docx
Visitor does something
Visitor visits Site B
Site B now contains topsecret.docx
你会看到什么(当然是通过网络嗅探):
Visitor <--> Site A (1mb session)
Visitor <--> Site B (1mb session)
如果您可以在两个站点上找到相同的文档,您可以推断访问者去了站点 a,下载了一个文件,然后访问了该文件出现的站点 b。您可以对其进行 md5 以进一步证明文件,但是,您需要找到初始文件。否则,访问者可能会同时访问这两个站点,并上传或下载猫视频。
对于有资源的人来说,发动这种攻击会更容易,直接通过被盗的证书、sslstrip 或其他一些诡计来直接 MiTM 网站,而不是玩猜谜游戏。
修改为回答 Lekensteyn 的评论
Lekensteyn,我添加了一个虚构的例子来说明一个观点。它仍然成立,所以我再举一个例子
站点 A 包含 2 个文件(File1 (1mb) 和 File2 (200mb)
Visitor <--> download File2 <--> SiteA
在上面,访问者正在下载一个 200mb 的文件,并在开始时以 1mb 的速度停止会话。因为你看不到他做了什么,流量分析显示会话是 1mb 连接。你会看到什么:
Visitor <--> 1mb session <--> Site A
您是否愿意根据大小来赌访问者下载 File1 的最后一美元?在我的示例中,我使用了一个粗略的机制来说明我的答案。有很多我本可以详细介绍的,但为了简洁起见,我选择不详细介绍