PHP 中有一些伪随机数生成器:rand()、srand()、mt_rand()、mt_srand()。你可以在这里查看他们的代码。
我知道这些功能是不安全的,但它们有多不安全?
例如,如果这些函数用于生成反 CSRF 令牌,文件下载链接中的令牌,攻击者猜其他用户的令牌有多容易?他怎么能做到?
更新:论文I Forgot Your Password: Randomness Attacks Against PHP Applications似乎是有关该主题的规范读物,并包含对此问题的详细回复。但是,它很长而且很复杂,所以我想看一个更简短的摘录,它会指出或显示存在可以破坏这些功能的漏洞利用算法。