Inverting the Xorshift128 random number generator
9 months ago
- #Cryptography
- #Vulnerability
- #Node.js
- CVE-2025-7783是一个影响Node.js中axios及已弃用的request库的漏洞,但由于特定条件限制,实际利用可能性较低。
- 该漏洞要求攻击者获取五次连续的Math.random()输出值,才能使用z3求解器预测后续随机数。
- 博客深入探讨了如何改进Xorshift128+算法(Math.random()的底层实现)的反向推算,仅需两个64位输出即可完成逆向。
- 研究提出一种226步运算的算法:通过猜测R1寄存器的最低26位,推导出Xorshift128+剩余比特位。
- 该方法可扩展至Math.random(),但需暴力破解额外24位,使搜索空间增至250次运算量级。
- 优化方案包括延迟状态更新和预查表技术,可显著加速反向推算过程。
- 作者反思了使用AI(ChatGPT)辅助研究的经历,指出尽管初期代码准确性欠佳,但人工智能仍具研究潜力。