BUUCTF--[GWCTF 2019]枯燥的抽奖
此题与BUUCTF--[MRCTF2020]Ezaudit类似
利用dirsearch扫描到check.php查看源码
<?php
#这不是抽奖程序的源代码!不许看!
header("Content-Type: text/html;charset=utf-8");
session_start();
if(!isset($_SESSION['seed'])){
$_SESSION['seed']=rand(0,999999999);
}mt_srand($_SESSION['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);
}
$str_show = substr($str, 0, 10);
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");
这里的考点依然是伪随机数,利用给出的部分字符串回推序列
使用Python脚本
str1='abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
str2='OcRiTWUJrN'
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)结果为:50 50 0 61 2 2 0 61 53 53 0 61 8 8 0 61 55 55 0 61 58 58 0 61 56 56 0 61 45 45 0 61 17 17 0 61 49 49 0 61
这里由于根据序列并不能找到种子,目前尚不清楚什么原因,思路预防方法是同上一个blog一样
BUUCTF--[GWCTF 2019]枯燥的抽奖相关推荐
- [GWCTF 2019]枯燥的抽奖
[GWCTF 2019]枯燥的抽奖 知识点:伪随机数构造 文章目录 [GWCTF 2019]枯燥的抽奖 解题过程 1. 伪随机数(引用上面的链接内容) 2. 将已知的部分伪随机数转化为php_mt_s ...
- [GWCTF 2019]枯燥的抽奖 1——php_mt_seed
又是一道php伪随机数 记录它不是因为难 而是看到wp里有个比较好的脚本 遂收藏一波 (上一次做伪随机数的脚本都找不到了QWQ 编程能力是硬伤QWQ tcl) <?php #这不是抽奖程序的源代 ...
- [wp][GWCTF 2019]枯燥的抽奖
感觉网上的wp互相抄的写得不明不白,只简单说下我对这题的理解,如有错误地方望各位师傅指正 <?php #这不是抽奖程序的源代码!不许看! header("Content-Type: t ...
- [GWCTF 2019]枯燥的抽奖 1
周末时间,抽个奖助助兴! 打开题目,发现是一个猜字符串的游戏,就问你枯不枯燥? 看到这想都不用想,CTRL+U查看后台代码,果然不出所料,发现了存在check.php 通过代码审计并结合题目来看,这是 ...
- 【代码审计】buu_[GWCTF 2019]枯燥的抽奖
1.根据提示出前十位的号码,猜测应该需要爆破后面十位,抓包发现发送到check.php: 2.跟进查看代码: 原理:因为代码中是通过种子seed生成了随机数,但是mt_srand()这个函数存在漏洞, ...
- buuctf GWCTF 2019 pyre
下载题目发现是一个pyc文件,关于pyc的详细解释,我看到了这篇文章(6条消息) .pyc是什么?_loveliuzz的博客-CSDN博客_.pyc pyc文件是PyCodeObject的一种持久化保 ...
- BUUCTF Reverse/[GWCTF 2019]pyre
BUUCTF Reverse/[GWCTF 2019]pyre 下载得到一个pyc文件,用这个在线反编译pyc,pyo反汇编出代码 print 'Welcome to Re World!' print ...
- BUUCTF RE WP31-32 [WUSTCTF2020]level1、[GWCTF 2019]xxor
31.[WUSTCTF2020]level1 得到的 flag 请包上 flag{} 提交. 感谢 Iven Huang 师傅供题. 比赛平台:https://ctfgame.w-ais.cn/ 给了 ...
- [BUUCTF]REVERSE——[GWCTF 2019]pyre
[GWCTF 2019]pyre 附件 步骤: 1.附件是pyc文件,用python打不开,百度后得知用python反编译工具打开,分享一个python反编译在线网站 反编译后是这段代码 #!/usr ...
最新文章
- 判断点是否在多边形内——射线法
- MySQL 复制夯住排查以及原理探讨
- golden gate 错误集锦
- SAP Cloud for Customer Cloud Application Studio的一些使用技巧(持续更新)
- html5按钮样式具有子项目,如何使用HTML5+css3制作出12种常用的按钮开关样式(附完整代码)...
- linux 不可中断的进程,不可中断进程和僵尸进程
- 10个用来处理键盘事件的JQuery插件和JS类库
- python两数相加取_两数相加(Python3)
- secureCRT 如何上传下载文件
- ros melodic控制真实机械臂之获取moveit规划插补点
- VB数据库中EOF和BOF的认识与用法
- Axure8授权激活码
- 深度学习模型如何查看(hdfview + netron)
- CRM系统提高企业核心竞争力
- 跨境电商亚马逊平台运营模式有哪些?
- 解决登录雅虎邮箱提示您在所用浏览器上启用Javascript 功能
- 模型量化论文阅读#1----综述:A Survey of Quantization Methods for Efficient Neural Network Inference
- 自整理Java面试题集锦(Java基础 1)
- 郭博分析modbus主机模式
- 扎克伯格 java_程序员的5种级别,扎克伯格比尔盖茨并非最高等级!
热门文章
- vue.js毕业设计,基于vue.js前后端分离教室预约系统设计与实现(H5移动项目)
- 2021-2025年中国智能眼镜行业市场供需与战略研究报告
- python中可选参数是什么意思_【IT专家】python 函数参数(必选参数、默认参数、可选参数、关键字参数)...
- 国内人脸识别公司哪家强,人脸比对跑个分比较下!
- 电站锅炉行业PLM的可定制知识管理软件
- 差分详细讲解(C++)
- 共享内存函数(shmget、shmat、shmdt、shmctl)
- 忘记网站上的密码时怎么办?用Python如何快速帮你找回?
- zxing生成二维码及解析二维码
- 从事人工智能行业,学什么专业比较好,需要学哪些基础知识