news 2026/9/3 7:27:13

[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/9/2 21:21:24

51、Solaris 文件与文件 I/O 详解

Solaris 文件与文件 I/O 详解 1. Solaris 文件概述 Unix 系统从诞生起就围绕进程和文件这两个基本实体构建。在 Solaris 中,文件是存储字节数组数据的实体,数据形式多样,如文本文件、二进制可执行文件、目录文件等。Solaris 支持多种文件类型,部分文件类型在内核层面定义…

作者头像 李华
网站建设 2026/9/2 4:51:14

10、网络资源保护:从基础加固到数据加密

网络资源保护:从基础加固到数据加密 1. 扫描操作与敏感数据加密概述 在完成选择后,点击“下一步”,扫描将立即开始。快速扫描的速度极快,扫描完成后,你看到的下一个窗口便是扫描结果窗口。若工具检测到异常,系统会提示你决定后续操作。 保护敏感数据的另一种有效方式是…

作者头像 李华
网站建设 2026/9/2 19:14:20

15、事件日志管理与安全保障

事件日志管理与安全保障 自定义应用日志报告错误处理 在请求自定义应用(customapp)报告时可能会出现错误。当前目录下的 customapp.conf 文件会指定一个日志文件组,进而明确需要检查的日志文件。 /logfiles/ 目录包含日志文件组的配置文件,这些文件定义了哪些日志文件…

作者头像 李华
网站建设 2026/9/3 1:21:00

Liquid AI发布新一代混合模型LFM2,重新定义边缘AI部署标准

Liquid AI发布新一代混合模型LFM2&#xff0c;重新定义边缘AI部署标准 【免费下载链接】LFM2-700M-GGUF 项目地址: https://ai.gitcode.com/hf_mirrors/LiquidAI/LFM2-700M-GGUF 在人工智能模型向轻量化、本地化部署加速演进的当下&#xff0c;Liquid AI近日推出的新一…

作者头像 李华
网站建设 2026/9/2 12:48:49

百度文心4.5大模型部署全解析:GPU配置与性能优化指南

百度文心4.5大模型部署全解析&#xff1a;GPU配置与性能优化指南 【免费下载链接】ERNIE-4.5-300B-A47B-Base-PT 项目地址: https://ai.gitcode.com/hf_mirrors/baidu/ERNIE-4.5-300B-A47B-Base-PT 随着生成式AI技术的飞速发展&#xff0c;大语言模型的参数规模和能力边…

作者头像 李华
网站建设 2026/9/2 0:38:15

4、深入理解 Linux 网络基础与管理

深入理解 Linux 网络基础与管理 1. 主机解析顺序 在 Linux 系统中,主机解析顺序的最终确定依赖于 /etc/nsswitch.conf 文件。虽然 /etc/hosts 文件会首先被检查,但 /etc/nsswitch.conf 决定了主机解析的完整顺序。可以使用以下命令查看主机解析顺序: cat /etc/nss…

作者头像 李华