【发布时间】:2014-07-13 18:20:45
【问题描述】:
在滚动浏览所有python 选项时,我发现python 包含一个“[turns] 散列随机化选项”,因此 str、bytes 和 datetime 对象的__hash__() 值被不可预知的随机数“加盐”值。尽管它们在单个 Python 进程中保持不变,但在 Python 的重复调用之间它们是不可预测的。 (source).
官方文档引用了这个文档http://www.ocert.org/advisories/ocert-2011-003.html,它应该提供更多信息,但是,它没有提供任何信息,例如“精心制作的 HTTP 请求”是什么样的。网站上的所有相关链接都已失效。我知道这可以通过调用python -R 来解决,但是我对细节更感兴趣。
一个 HTTP 请求如何在几个小时内使用 100% 的服务器 CPU,随机化哈希值如何解决这个问题?它是否会造成某种死锁? (我知道如果脚本被破坏(无限 for/while 循环,gotos)或者正在执行一项非常昂贵的任务,那么 HTTP 请求可能需要很长时间,但我认为情况并非如此)。
【问题讨论】:
标签: python security denial-of-service