当前位置:  开发笔记 > 编程语言 > 正文

重播HTTPS请求的攻击

如何解决《重播HTTPS请求的攻击》经验,为你挑选了2个好方法。

假设安全测试人员使用代理,比如Fiddler,并使用管理员的凭据记录HTTPS请求 - 在重放整个请求(包括会话和身份验证cookie)时,安全测试人员能够成功(重新)记录事务.声称这是CSRF漏洞的标志.

恶意用户必须做什么来拦截HTTPS请求并重放它?这是一个脚本小子,资金充足的军事黑客团队或时间旅行外星人技术的任务吗?记录用户的SSL会话并在门票到期之前重播它们真的很容易吗?

应用程序中的代码当前没有对HTTP GET做任何有趣的事情,因此AFAIK,欺骗管理员点击链接或加载带有恶意URL的图像不是问题.



1> Simon Buchan..:

HTTPS不可重放,握手序列中的第一个服务器响应包括服务器选择的随机数.

Fiddler所做的是充当代理,这意味着它拦截了您的浏览器的请求,然后向服务器生成相同的请求,这意味着它可以访问明文,这将是它将重放的内容.您的浏览器通过告诉您证书来自Fiddler - "DO_NOT_TRUST_FiddlerRoot"来告诉您,您必须同意它才会发送消息而忽略证书不匹配.


现在,如果中间的代理使用不同的证书,但*是*您信任的证书,那么您就注定了.如果受信任的证书颁发机构与窃听者联盟,这通常只是一个问题.可以检测可疑的证书更改,但这不是任何地方的默认行为.一般来说,这意味着政府(不一定是您自己的)可以通过所述的中间人攻击与证书颁发机构的合作拦截您的通信.
谢谢,它让人放心,知道SSL还没有被打破.因此,如果我理解正确,恶意用户无法在没有合作或至少用户注意到证书问题的情况下记录其他人的SSL会话.如果他们确实尝试重播原始SSL请求,它将被拒绝.
@Simon:您不能随意更换证书,除非受信任的签名机构(并且不一定是信任先前证书的机构!)给新证书一个正常.但如果确实如此,没有警告.这就是为什么每次用新的证书替换网站证书时都不会收到奇怪的警告信息(例如因为之前的证书已过期).一般来说,签约机构不会向我发放新的亚马逊证书,因此我可以进行中间人攻击,但是带有传票的政府代理是另一个故事.

2> rook..:

您所描述的不是CSRF漏洞.HTTPS专门防御原始密文的重播攻击,并防止攻击者知道请求的内容.

值得注意的是,HTTPS 并不能抵御CSRF.如果攻击者知道GET/POST变量应该是什么,那么他就能够构建恶意html,当目标执行它时,它将执行攻击者所需的动作.如果Web应用程序不是公共的并且攻击者不知道HTTP请求是什么样的,那么他们就无法伪造请求.例如,这是我针对phpMyAdmin编写的CSRF漏洞.我已经修改了这个漏洞以使用https,我所要做的就是将URL从http://更改为https://.




这个漏洞使用mysql的"into outfile"来删除后门.它使用无脚本,因为它伪造了一个GET请求,并且浏览器认为它是一个图像,直到它为时已晚.

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有