MyBB <= 1.4.11 论坛口令重置功能弱随机数漏洞

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

BUGTRAQ ID: 39404 MyBB是一款流行的Web论坛程序。 MyBB的口令重置实现在生成口令重置令牌和随机口令时使用了弱随机数,如果Web服务器重新使用了PHP进程的话攻击者就可以破解口令入侵任意账号。 MyBB在多处使用了mt_srand()函数对随机数生成器提供种子: // Setup a unique posthash for attachment management if(!$mybb->input['posthash'] && $mybb->input['action'] != "editdraft") { mt_srand((double) microtime() * 1000000); $posthash = md5($mybb->user['uid'].mt_rand()); } 这种方式所提供的随机数种子只有100万个不同的种子值;此外第一个生成的随机数还会以posthash的形式泄露给用户。由于用户知道了自己的uid,就可以通过暴力猜测100万种可能性找到种子。普通的桌面PC可在一秒钟内完成这种攻击。 由于随机数生成器的状态被同一PHP进程所处理的请求所共享,因此之后的口令重置就会使用攻击者已知的状态。 口令重置首先会创建发送给用户的随机口令重置令牌。如果使用了这个令牌,口令重置的第二步就会生成新的随机口令,这两个随机字符串都是由以下函数生成的: function random_str($length="8") { $set =array("a","A","b","B","c","C","d","D","e","E","f","F",...

0%
暂无可用Exp或PoC
当前有0条受影响产品信息