news 2026/4/2 5:15:43

[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/3/16 11:22:15

50、深入了解 Solaris Doors:IPC 机制解析

深入了解 Solaris Doors:IPC 机制解析 1. POSIX 消息队列优先级机制概述 在 POSIX 消息队列中,消息优先级机制起着重要作用。在 mq_send(3R) 和 mq_receive(3R) 调用中可以指定消息优先级。数值越大的优先级代表消息的优先级越高,这些高优先级消息会被插入到低优先级消…

作者头像 李华
网站建设 2026/3/31 14:52:38

6、网络安全防护与资源加固全解析

网络安全防护与资源加固全解析 1. 网络边界防护 在网络安全领域,保护网络边界是至关重要的第一步。网络边界通常指与外部世界的连接,如互联网、商业伙伴网络等。这些外部网络往往是不可信的,因为我们对其安全控制缺乏完全的管理权限。因此,使用防火墙来保护网络边界是必不…

作者头像 李华
网站建设 2026/4/1 2:03:11

9、网络资源防护:TCP 包装器、杀毒与反间谍软件指南

网络资源防护:TCP 包装器、杀毒与反间谍软件指南 1. TCP 包装器与网络过滤 在网络防护中,TCP 包装器和 netfilter(如 iptables)是常用的工具。TCP 包装器的两个过滤文件支持多种通配符,像 ALL、LOCAL、KNOWN、UNKNOWN 和 PARANOID,还能在规则文件中启用日志记录,并配置…

作者头像 李华
网站建设 2026/3/24 10:58:00

18、网络安全测试、监控与故障排查实用指南

网络安全测试、监控与故障排查实用指南 1. 网络安全测试工具 1.1 Microsoft Baseline Security Analyzer (MBSA) MBSA 默认以本地主机为目标进行扫描,扫描结果会以文本形式直接输出到控制台,同时会在 %USERPROFILE%\Security Scan\ 目录下生成一个 .mbsa 报告。文本输…

作者头像 李华
网站建设 2026/3/31 8:48:38

5、Linux网络基础与SSH远程管理全解析

Linux网络基础与SSH远程管理全解析 1. Linux网络接口管理 在Linux系统中,我们可以手动设置网络接口,不过在Debian和CentOS系统中,也可以借助Network Manager来管理网络连接。对于普通用户的工作站,尤其是笔记本电脑及其无线接口,Network Manager能更好地完成网络配置工作…

作者头像 李华
网站建设 2026/3/14 9:42:42

百度ERNIE 4.5大模型深度解析:多模态技术突破与高效部署实践

百度最新一代大语言模型ERNIE 4.5在多模态融合与工程化落地领域实现了跨越式发展&#xff0c;通过创新的技术架构设计与精细化优化策略&#xff0c;构建起覆盖训练、调优到部署的全链路解决方案。该模型不仅在语言理解生成任务上保持领先优势&#xff0c;更通过跨模态技术创新&…

作者头像 李华