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

[GWCTF 2019]枯燥的抽奖

参考

https://www.cnblogs.com/AikN/p/15764428.html

 [GWCTF 2019]枯燥的抽奖-CSDN博客

打开环境

笑死我了,怎么那么像我高中校长

查看源代码

看到check.php,去访问一下

ok看到源代码了

因为上次做过,看到这个我就想到用php_mt_seed逆推出seed

 <?php
#这不是抽奖程序的源代码!不许看!
header("Content-Type: text/html;charset=utf-8");
session_start();
if(!isset($_SESSION['seed'])){
$_SESSION['seed']=rand(0,999999999); //如果seed不存在,则生成一个随机数作为种子
}mt_srand($_SESSION['seed']);   //使用 mt_srand 函数设置随机数生成器的种子为会话变量 "seed" 的值。这样可以保证每次生成的随机数序列是相同的。
$str_long1 = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$str='';   //创建一个空字符串,用于存储生成的随机字符串
$len1=20;
for ( $i = 0; $i < $len1; $i++ ){$str.=substr($str_long1, mt_rand(0, strlen($str_long1) - 1), 1);   //生成一个长度为 20 的随机字符串。循环每次从 $str_long1 中随机选择一个字符,并将其追加到 $str 中。    
}
$str_show = substr($str, 0, 10);  //从生成的随机字符串中截取前 10 个字符,存储在变量 $str_show 中
echo "<p id='p1'>".$str_show."</p>";if(isset($_POST['num'])){if($_POST['num']===$str){xecho "<p id=flag>抽奖,就是那么枯燥且无味,给你flag{xxxxxxxxx}</p>";}else{echo "<p id=flag>没抽中哦,再试试吧</p>";}
}
show_source("check.php"); 

 我晕

火狐没看到完整的,谷歌才看到

需要先将数列转换成爆破脚本可以识别的数列,将随机出来的伪随机串的下标还原回来

这里脚本看了别人的wp

似乎是离散参数的规范,但没搞明白为什么要重复一次。
好像是 “随机数a 随机数a min max”这样一个格式,四个一组。

str1 = 'SNDH9So2My'
str2 = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
result = ''length = str(len(str2) - 1)
for i in range(0, len(str1)):for j in range(0, len(str2)):if str1[i] == str2[j]:result += str(j) + ' ' + str(j) + ' ' + '0' + ' ' + length + ' '  //如果字符匹配成功,则将匹配结果追加到 res 中。匹配结果包括四个部分,分别是 j、j、0、len(str1)-1,中间用空格分隔breakprint(result)

在kali使用php_mt_seed

php 版本为7.1以上的只有614247723这个种子

求str

相关文章:

[GWCTF 2019]枯燥的抽奖

参考 https://www.cnblogs.com/AikN/p/15764428.html [GWCTF 2019]枯燥的抽奖-CSDN博客 打开环境 笑死我了&#xff0c;怎么那么像我高中校长 查看源代码 看到check.php&#xff0c;去访问一下 ok看到源代码了 因为上次做过&#xff0c;看到这个我就想到用php_mt_seed逆推…...

vue3中sync修饰符的使用

props是子组件与父组件进行通信的常用方式&#xff0c;使用步骤主要有以下几个&#xff1a; 1. 在子组件中定义props要从父组件接收的变量&#xff08;变量的类型必须写明&#xff0c;默认值可选&#xff09; // 这里以 document.vue 子组件为例 // 通过 defineProps 宏的方…...

Qt全屏显示与退出

仿照 按Escape键退出程序中的实现&#xff0c;我们在程序开始的时候全屏显示&#xff0c;按esc键的时候退出全屏。 showFullScreen 全屏显示只需要调用QWidget类&#xff08;QMainWindow也是一个QWidget类&#xff09;的 showFullScreen() 成员函数即可。 退出全屏&#x…...

OpenCV之直线曲线拟合

直线拟合fitLine void fitLine( InputArray points, OutputArray line, int distType,double param, double reps, double aeps ); points:二维点的数组或vector line:输出直线,Vec4f (2d)或Vec6f (3d)的vector distType:距离类型 param:距离参数 reps:径向的精度参数 a…...

2023年哪款PDF虚拟打印机好用?

PDF文档想必大家都不陌生&#xff0c;在工作中经常会用到该格式的文档&#xff0c;那么有哪些方法能制作PDF文档呢&#xff1f;一般都是借助PDF虚拟打印机的&#xff0c;那么有哪些好用的软件呢&#xff1f; pdfFactory不仅为用户提供了丰富的PDF文档生成、打印功能&#xff0…...

Redis各数据类型特定的命令和用法 1.0版本

目录 一、Sring数据类型1.1 概述1.2 set/get/append/strlen命令1.3 incr/decr/incrby/decrby 命令1.4 getset命令1.5 setex命令1.6 setnx命令1.7 mset/mget/msetnx命令 二、List数据类型2.1 概述2.2 lpush/lpushx/lrange命令2.3 lpop/llen命令2.4 lrem/lset/lindex/ltrim命令2.…...

卫星图像应用 - 洪水检测 使用DALI进行数据预处理

这篇文章是上一篇的延申。 运行环境&#xff1a;Google Colab 1. 当今的深度学习应用包含由许多串行运算组成的、复杂的多阶段数据处理流水线&#xff0c;仅依靠 CPU 处理这些流水线已成为限制性能和可扩展性的瓶颈。 2. DALI 是一个用于加载和预处理数据的库&#xff0c;可…...

为什么字节大量用GO而不是Java?

见字如面&#xff0c;我是军哥。 我看很多程序员对字节编程语言选型很好奇&#xff0c;为此我还特地问了在字节的两位4-1的技术大佬朋友&#xff0c;然后加上自己的思考&#xff0c;总结了一下就以下 2 个原因&#xff1a; 1、 选型上没有历史包袱 字节的早期的程序员大多来自于…...

Hive SQL初级练习(30题)

前言 Hive 的重要性不必多说&#xff0c;离线批处理的王者&#xff0c;Hive 用来做数据分析&#xff0c;SQL 基础必须十分牢固。 环境准备 建表语句 这里建4张表&#xff0c;下面的练习题都用这些数据。 -- 创建学生表 create table if not exists student_info(stu_id st…...

NSSCTF做题(6)

[HCTF 2018]Warmup 查看源代码得到 开始代码审计 <?php highlight_file(__FILE__); class emmm { public static function checkFile(&$page) { $whitelist ["source">"source.php","hint"…...

公众号商城小程序的作用是什么

公众号是微信平台重要的生态体系之一&#xff0c;它可以与其它体系连接实现多种效果&#xff0c;同时公众号内容创作者非常多&#xff0c;个人或企业商家等&#xff0c;会通过公众号分享信息或获得收益等&#xff0c;而当商家需要在微信做私域经营或想要转化粉丝、售卖产品时就…...

关于 FOCA

目录 注意团队成员成品官网项目社区 版本信息致谢 注意 此文章会随时更新&#xff0c;最好收藏起来&#xff0c;总对你有好处。我们不定时发布一些 IT 内容&#xff0c;所以请关注我们。 此账号为 FOCA 唯一的官方账号&#xff0c;请勿轻易相信其他账号所发布内容。 团队 全…...

TVP专家谈腾讯云 Cloud Studio:开启云端开发新篇章

导语 | 近日&#xff0c;由腾讯云 TVP 团队倾力打造的 TVP 吐槽大会第六期「腾讯云 Cloud Studio」专场圆满落幕&#xff0c;6 位资深的 TVP 专家深度体验腾讯云 Cloud Studio 产品&#xff0c;提出了直击痛点的意见与建议&#xff0c;同时也充分肯定了腾讯云 Cloud Studio 的实…...

2023-09-27 Cmake 编译 OpenCV+Contrib 源码通用设置

Cmake 编译 OpenCV 通用设置 特点&#xff1a; 包括 Contrib 模块关闭了 Example、Test、OpenCV_AppLinux、Windows 均只生成 OpenCV_World 需要注意&#xff1a; 每次把 Cmake 缓存清空&#xff0c;否则&#xff0c;Install 路径可能被设置为默认路径Windows 需要注意编译…...

ACGAN

CGAN通过在生成器和判别器中均使用标签信息进行训练&#xff0c;不仅能产生特定标签的数据&#xff0c;还能够提高生成数据的质量&#xff1b;SGAN&#xff08;Semi-Supervised GAN)通过使判别器/分类器重建标签信息来提高生成数据的质量。既然这两种思路都可以提高生成数据的质…...

模块化CSS

1、什么是模块化CSS 模块化CSS是一种将CSS样式表的规则和样式定义封装到模块或组件级别的方法&#xff0c;以便于更好地管理、维护和组织样式代码。这种方法通过将样式与特定的HTML元素或组件相关联&#xff0c;提供了一种更具可维护性、可复用性和隔离性的方式来处理样式。简单…...

意大利储能公司【Energy Dome】完成1500万欧元融资

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 猛兽财经获悉&#xff0c;总部位于意大利米兰的储能公司Energy Dome今日宣布已完成1500万欧元B轮融资。 本轮融资完成后&#xff0c;Energy Dome的融资总额已经达到了5500万欧元&#xff0c;本轮融资的参与者包括阿曼创新发…...

【Java 进阶篇】JDBC Connection详解:连接到数据库的关键

在Java中&#xff0c;要与数据库进行交互&#xff0c;需要使用Java数据库连接&#xff08;JDBC&#xff09;。JDBC允许您连接到不同类型的数据库&#xff0c;并执行SQL查询、插入、更新和删除操作。在JDBC中&#xff0c;连接数据库是一个重要的步骤&#xff0c;而Connection对象…...

vue-cli项目打包体积太大,服务器网速也拉胯(100kb/s),客户打开网站需要等十几秒!!! 尝试cdn优化方案

一、首先用插件webpack-bundle-analyzer查看自己各个包的体积 插件用法参考之前博客 vue-cli项目中&#xff0c;使用webpack-bundle-analyzer进行模块分析&#xff0c;查看各个模块的体积&#xff0c;方便后期代码优化 二、发现有几个插件体积较大&#xff0c;有改成CDN引用的…...

【优秀学员统计】python实现-附ChatGPT解析

1.题目 优秀学员统计 知识点排序统计编程基础 时间限制: 1s 空间限制: 256MB 限定语言:不限 题目描述: 公司某部门软件教导团正在组织新员工每日打卡学习活动,他们开展这项学习活动已经一个月了,所以想统计下这个月优秀的打卡员工。每个员工会对应一个id,每天的打卡记录记录…...

FPGA硬件加速架构设计与AXI Stream优化实践

1. FPGA硬件加速架构设计解析在当今高性能计算领域&#xff0c;FPGA因其可重构特性和并行计算能力&#xff0c;已成为硬件加速的重要选择。我们基于Xilinx Alveo U50 FPGA平台构建的加速系统&#xff0c;采用了分层通道设计和AXI Stream高速互联技术&#xff0c;实现了网络数据…...

Godot 4.3+生产级3D反向运动学(IK)系统实战指南

1. 这不是“加个插件就动起来”的玩具&#xff0c;而是能进生产管线的IK系统 在Godot社区里&#xff0c;“反向运动学”这个词被提得太多&#xff0c;也太轻了。我见过太多人把 Skeleton3D 拖进场景&#xff0c;点开 IK 节点属性&#xff0c;勾上“启用”&#xff0c;然后…...

多图像查看器:告别繁琐切换,高效管理海量图片的专业解决方案

多图像查看器&#xff1a;告别繁琐切换&#xff0c;高效管理海量图片的专业解决方案 【免费下载链接】MulimgViewer MulimgViewer is a multi-image viewer that can open multiple images in one interface, which is convenient for image comparison and image stitching. …...

豆包生成的流程图怎么导出

标题&#xff1a;不只是聊天&#xff1a;深度解析豆包——从AI助手到数字生活的“协作者” 在当前大模型应用百花齐放的时代&#xff0c;豆包&#xff0c;作为字节跳动推出的AI对话助手&#xff0c;已悄然成为许多用户日常工作与生活中的“数字伙伴”。它不仅仅是一个能回答问题…...

Python初学者项目练习23--计算圆的面积

一、练习题目 定义一个函数&#xff0c;这个函数用于计算并返回给定半径的圆的面积&#xff08;要求结果保留两位小数&#xff09; 二、代码 1.初始版本 代码如下&#xff1a; def area(r):"""作用&#xff1a;用于计算并返回给定半径的圆的面积&#xff08;要求…...

蒙古语TTS准确率仅73%?ElevenLabs 2024Q2基准测试报告曝光:词级准确率91.4%,但需绕过这2个API默认参数坑

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;蒙古语TTS准确率争议的真相还原 近年来&#xff0c;多款商用及开源蒙古语文本转语音&#xff08;TTS&#xff09;系统在公开评测中报告了92%–97%的词级准确率&#xff0c;但一线教育机构与本地化团队反馈的实…...

如何快速编辑虚幻引擎游戏存档?uesave-rs终极指南

如何快速编辑虚幻引擎游戏存档&#xff1f;uesave-rs终极指南 【免费下载链接】uesave Rust library and CLI to read and write Unreal Engine save files 项目地址: https://gitcode.com/gh_mirrors/ue/uesave 你是否曾经想修改游戏存档却无从下手&#xff1f;当面对虚…...

【限时解密】ElevenLabs未公开的瑞典文语料权重配置表:仅限前200名开发者获取的/sv-SE/声道微调参数

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;瑞典文语音合成的技术背景与ElevenLabs架构定位 瑞典语作为北日耳曼语支的重要语言&#xff0c;拥有丰富的元音系统&#xff08;9个长元音、9个短元音&#xff09;、独特的声调重音&#xff08;accent 1 和 a…...

4.0修复版去水印小程序源码 内含去水印免费接口

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 流量主变现&#xff1a;集成微信广告&#xff0c;支持开屏 / 激励 / Banner 广告&#xff0c;直接盈利。 前后端能力&#xff1a; 前端&#xff1a;3 套 UI 可选&#xff0c;改版后功能完…...

终极指南:如何在Android设备上实现Zwift离线骑行模拟

终极指南&#xff1a;如何在Android设备上实现Zwift离线骑行模拟 【免费下载链接】zwift-offline Use Zwift offline 项目地址: https://gitcode.com/gh_mirrors/zw/zwift-offline 你是否厌倦了网络不稳定导致的Zwift训练中断&#xff1f;想要在任何地方都能享受专业的虚…...