当前位置: 首页 > news >正文

NSS [GWCTF 2019]枯燥的抽奖

NSS [GWCTF 2019]枯燥的抽奖

开题让我猜字符串,这种题目肯定不是猜,应该是类似于php伪随机数。

image-20230625232440104

dirsearch扫他一下。

image-20230625232517462

访问/check.php得到源码。

image-20230625232549116

分析一下代码。

通过PHP伪随机数从字符库$str_long1中选取20个字符组成字符串,返回给我们前十个。

substr为字符串截取函数,自行查看php手册,没有的师傅可以评论d我。

mt_rand(0, strlen( s t r l o n g 1 ) − 1 ) 返回 0 到 s t r l e n ( str_long1) - 1)返回0到 strlen( strlong1)1)返回0strlen(str_long1) - 1之间的随机数,即0到61之间的伪随机数。

我的前十个字符是d5k3knbmyV

对应3 31 10 29 10 13 1 12 24 57

(3 3 0 61 31 31 0 61 10 10 0 61 29 29 0 61 10 10 0 61 13 13 0 61 1 1 0 61 12 12 0 61 24 24 0 61 57 57 0 61)

使用伪随机数工具,下载链接:php_mt_seed - PHP mt_rand() seed cracker,输入

time ./php_mt_seed 3 3 0 61 31 31 0 61 10 10 0 61 29 29 0 61 10 10 0 61 13 13 0 61 1 1 0 61 12 12 0 61 24 24 0 61 57 57 0 61

image-20230626002626471

得到种子846122349,同时要注意php版本是php7.1以上的。

修改一下源代码,输入种子,自己运行一下。

<?php
#这不是抽奖程序的源代码!不许看!
header("Content-Type: text/html;charset=utf-8");
session_start();mt_srand(846122349);
$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;

得到d5k3knbmyVwVK8ue9h9B,输入,得到flag

image-20230626002906710

http://www.lryc.cn/news/196606.html

相关文章:

  • 微信小程序会议OA系统
  • CICD:Circle CI 实现CICD
  • 竞赛 深度学习YOLO安检管制物品识别与检测 - python opencv
  • 【华为OD机试python】斗地主之顺子【2023 B卷|100分】
  • ant design DatePicker禁用之前的时间
  • C语言---预处理详解
  • 数组和对象有什么区别?
  • 顺序表(第二节)实现和解析
  • Hadoop3教程(二十一):MapReduce中的压缩
  • 04、RocketMQ -- 核心基础使用
  • mysql中date/datetime类型自动转go的时间类型time.Time
  • MATLAB算法实战应用案例精讲-【图像处理】机器视觉(基础篇)
  • LDAP协议工作原理
  • 【Jetpack Compose】BOM是什么?
  • 多域名SSL数字证书是什么呢
  • 杭电oj--求奇数的乘积
  • E053-web安全应用-Brute force暴力破解初级
  • 外汇天眼;VT Markets 赞助玛莎拉蒂MSG Racing电动方程式世界锦标赛
  • 使用vscode + vite + vue3+ element3 搭建vue3脚手架
  • 竞赛 深度学习+opencv+python实现车道线检测 - 自动驾驶
  • spring boot 下载resources下的静态文件为流格式
  • HTML渲染过程
  • [已解决]llegal target for variable annotation
  • nodejs基于vue小型企业银行账目管理系统
  • pointnet和pointnet++点云分割和分类
  • Docker-compose和Consul
  • AFL模糊测试+GCOV覆盖率分析
  • leetcode 965.单值二叉树
  • 云计算:掌控未来,一触即发!
  • Mybatis对数据库进行增删查改以及单元测试