news 2026/1/19 5:47:19

[GWCTF 2019]枯燥的抽奖

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[GWCTF 2019]枯燥的抽奖

启动环境

检查发现源码

通过查找mt_rand函数资料,PHP的mt_rand函数作为一个随机数生成工具在程序中被广泛使用,但是大家都忽略了一个事实,mt_rand生成的随机数不是一个真正的随机数,而是一个伪随机数,不能应用于生成安全令牌、核心加解密key等等,所以很多知名程序都出现过对mt_rand函数的错误使用而导致的安全问题。

可以根据已经给出的部分随机数,利用工具找出seed(种子),然后得到完整的随机数。

上网寻找了下载php_mt_seed工具和使用方法

php_mt_seed是一个破解mt_rand函数seed的工具,在最简单的调用模式下,它能通过mt_rand第一次输出的值寻找mt_rand的seed,在更高级的模式中它能匹配不是第一次输出的和不明确具体输出的情况。

下载链接:php_mt_seed - PHP mt_rand() seed cracker

可以通过已经知道的几个字符去反推mt_rand()

python代码

str1='abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' str2='6aZVpCGRLU' res='' for i in range(len(str2)): for j in range(len(str1)): if str2[i] == str1[j]: res+=str(j)+' '+str(j)+' '+'0'+' '+str(len(str1)-1)+' ' break print(res)

运行得到

使用php_mt_seed工具

得到种子345828701

计算整个字符串的代码

<?php
mt_srand(种子);
$str_long1 = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$str='';
$len1=20;
for ( $i = 0; $i < $len1; $i++ ){
$str.=substr($str_long1, mt_rand(0, strlen($str_long1) - 1), 1);
}
echo $str;

提交得到flag

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/15 11:56:33

54、内存映射文件I/O与Solaris 64位文件支持详解

内存映射文件I/O与Solaris 64位文件支持详解 1. 异步I/O与内存映射文件I/O概述 在文件I/O操作中,传统的方式是通过 read 、 write 和 lseek 系统调用来为进程执行I/O,并在进程的地址空间和内核缓冲区之间复制数据。例如,使用 read(2) 系统调用进行文件读取时,数据…

作者头像 李华
网站建设 2026/1/17 1:02:46

58、深入探究文件系统框架与I/O操作

深入探究文件系统框架与I/O操作 1. 块I/O与vnode页面 块I/O子系统支持对vnode页面进行I/O操作。以下三个函数可用于在物理页面和设备之间发起I/O: | 函数 | 描述 | | — | — | | bdev_strategy() | 使用块I/O设备在页面上发起I/O | | pageio_done() | 等待块设备I/O完成…

作者头像 李华
网站建设 2026/1/17 3:48:34

61、Unix文件系统UFS实现解析

Unix文件系统UFS实现解析 1. UFS概述 UFS(Unix文件系统)被实现为一个可加载的文件系统模块,包含vfs和vnode对象的实例。其中,UFS的vnode接口实现文件操作,而UFS的vfs接口则实现文件系统管理。 UFS文件系统的实现主要分为以下五个部分: - 一个vfs对象实例,以及用于挂…

作者头像 李华
网站建设 2026/1/16 23:27:46

62、Solaris文件系统缓存:原理、优化与性能分析

Solaris文件系统缓存:原理、优化与性能分析 在操作系统中,文件系统缓存是提升文件读写性能的关键机制。本文将深入探讨Solaris系统中文件系统缓存的工作原理、优化策略以及对系统性能的影响。 1. 文件缓存简介 文件系统的一个重要特性是能够缓存文件数据。然而,在Solaris…

作者头像 李华
网站建设 2026/1/17 1:58:30

Qwen3-30B-A3B模型参数配置指南:解锁高效推理与流畅交互的双重体验

在大语言模型应用中&#xff0c;参数配置如同调节精密仪器的旋钮&#xff0c;微小的调整可能带来截然不同的输出效果。Qwen3-30B-A3B作为新一代大模型&#xff0c;凭借其300亿参数规模与A3B架构优化&#xff0c;在复杂推理与自然对话场景中均展现出卓越性能。本文将系统解析该模…

作者头像 李华
网站建设 2025/12/14 3:35:26

7、强化 Linux 系统安全性:全面指南

强化 Linux 系统安全性:全面指南 1. Linux 系统强化概述 在安装 Windows 操作系统时,同一版本的基本安装,包括默认安全设置通常是一致的。而 Linux 不同,不同的 Linux 发行版在默认配置下的安全性差异很大。有些发行版默认就具备较高的安全性,而有些则不然。 Linux 系统…

作者头像 李华