IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> php伪随机数爆破种子 -> 正文阅读

[PHP知识库]php伪随机数爆破种子

一、前言

ctf中有很多php随机数的题目,考察方式一般如下:

给定一个随机数,求产生随机数的种子。

做这种题,先了解点知识

二、基础知识

php产生随机数

php 通过 以下两个函数产生随机数

mt_srand() //播种 Mersenne Twister 随机数生成器。
mt_rand()   //生成随机数

应用代码为

<?php  
mt_srand(1234);    
echo mt_rand()."</br>";
echo mt_rand()."</br>";
echo mt_rand()."</br>";
?>  

结果如下

简单说,给定一个种子,由这个 种子 产生随机数

那 为什么是 伪随机数呢?

因为同一个种子产生的随机数只会根据调用次数的不同产生不同的数。

比如上面的例子,当种子为1234时,

种子产生的前三个随机数就都是
1741177057
1068724585
1335968403

?漏洞产生

所以显而易见,随机数的产生,基于种子。但是,可以通过产生的随机数来猜测种子,进而推测后续的随机数。

需要指明的是,不同版本的php,同一个种子产生的随机数有可能不同。

爆破种子

利用工具

php_mt_seed - PHP mt_rand() seed cracker

使用方法

这个是用C语言编写的工具,里面的一个库是Windows下没有的,推荐用Linux直接用。

我们拖入kali

解压

tar -zxvf php_mt_seed-4.0.tar.gz

进入文件夹

cd?php_mt_seed-4.0.tar.gz

编译

make

爆破

./php_mt_seed 1739865909

输出结果:

root@kali:~/桌面/php_mt_seed-4.0# make
gcc -Wall -march=native -mtune=generic -O2 -fomit-frame-pointer -funroll-loops -fopenmp php_mt_seed.c -o php_mt_seed
php_mt_seed.c:47:2: warning: #warning AVX-512 not enabled. Try gcc -mavx512f (on Intel Knights Landing, Skylake-X, or some newer). [-Wcpp]
   47 | #warning AVX-512 not enabled. Try gcc -mavx512f (on Intel Knights Landing, Skylake-X, or some newer).
      |  ^~~~~~~
root@kali:~/桌面/php_mt_seed-4.0# ./php_mt_seed 1739865909
Pattern: EXACT
Version: 3.0.7 to 5.2.0
Found 0, trying 0xf8000000 - 0xfbffffff, speed 14347.4 Mseeds/s 
seed = 0xf8844e10 = 4169420304 (PHP 3.0.7 to 5.2.0)
seed = 0xf8844e11 = 4169420305 (PHP 3.0.7 to 5.2.0)
Found 2, trying 0xfc000000 - 0xffffffff, speed 14578.8 Mseeds/s 
Version: 5.2.1+
Found 2, trying 0x00000000 - 0x01ffffff, speed 0.0 Mseeds/s 
seed = 0x00abac87 = 11250823 (PHP 5.2.1 to 7.0.x; HHVM)
Found 3, trying 0x0c000000 - 0x0dffffff, speed 129.9 Mseeds/s 
seed = 0x0d8938af = 227096751 (PHP 5.2.1 to 7.0.x; HHVM)
Found 4, trying 0x96000000 - 0x97ffffff, speed 88.4 Mseeds/s  
seed = 0x979aac4e = 2543496270 (PHP 5.2.1 to 7.0.x; HHVM)
Found 5, trying 0xfe000000 - 0xffffffff, speed 83.8 Mseeds/s 
Found 5
root@kali:~/桌面/php_mt_seed-4.0# 

根据不同的php版本爆破出了不同的种子,挨个试就行了。

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-11-16 18:37:48  更:2021-11-16 18:37:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 14:31:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码