又是一道php伪随机数 记录它不是因为难 而是看到wp里有个比较好的脚本
遂收藏一波
(上一次做伪随机数的脚本都找不到了QWQ 编程能力是硬伤QWQ tcl)

<?php
#这不是抽奖程序的源代码!不许看!
# pjfW4HxlYF
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");
str1='abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
str2='pjfW4HxlYF'
str3 = str1[::-1]
length = len(str2)
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

<?php
mt_srand(959242927);
$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 "<p id='p1'>".$str."</p>";

[GWCTF 2019]枯燥的抽奖 1——php_mt_seed相关推荐

  1. [GWCTF 2019]枯燥的抽奖

    [GWCTF 2019]枯燥的抽奖 知识点:伪随机数构造 文章目录 [GWCTF 2019]枯燥的抽奖 解题过程 1. 伪随机数(引用上面的链接内容) 2. 将已知的部分伪随机数转化为php_mt_s ...

  2. [wp][GWCTF 2019]枯燥的抽奖

    感觉网上的wp互相抄的写得不明不白,只简单说下我对这题的理解,如有错误地方望各位师傅指正 <?php #这不是抽奖程序的源代码!不许看! header("Content-Type: t ...

  3. [GWCTF 2019]枯燥的抽奖 1

    周末时间,抽个奖助助兴! 打开题目,发现是一个猜字符串的游戏,就问你枯不枯燥? 看到这想都不用想,CTRL+U查看后台代码,果然不出所料,发现了存在check.php 通过代码审计并结合题目来看,这是 ...

  4. 【代码审计】buu_[GWCTF 2019]枯燥的抽奖

    1.根据提示出前十位的号码,猜测应该需要爆破后面十位,抓包发现发送到check.php: 2.跟进查看代码: 原理:因为代码中是通过种子seed生成了随机数,但是mt_srand()这个函数存在漏洞, ...

  5. BUUCTF--[GWCTF 2019]枯燥的抽奖

    此题与BUUCTF--[MRCTF2020]Ezaudit类似 利用dirsearch扫描到check.php查看源码 <?php #这不是抽奖程序的源代码!不许看! header(" ...

  6. [GWCTF 2019]babyvm

    系统学习vm虚拟机逆向 64位vm的题目 找到主函数 分析sub_CD1函数: sub_B5F代表mov操作,其中 0xE1,0xE2...代表不同的寄存器. sub_A64是一个异或操作xor. s ...

  7. [GWCTF 2019]pyre.pyc [CISCN2018]2ex

    文章目录 [GWCTF 2019]pyre.pyc 反编译 脚本 [CISCN2018]2ex 查看txt 分析 [GWCTF 2019]pyre.pyc 反编译 uncompyle6 pyre.py ...

  8. BUUCTF RE WP31-32 [WUSTCTF2020]level1、[GWCTF 2019]xxor

    31.[WUSTCTF2020]level1 得到的 flag 请包上 flag{} 提交. 感谢 Iven Huang 师傅供题. 比赛平台:https://ctfgame.w-ais.cn/ 给了 ...

  9. [BUUCTF]REVERSE——[GWCTF 2019]pyre

    [GWCTF 2019]pyre 附件 步骤: 1.附件是pyc文件,用python打不开,百度后得知用python反编译工具打开,分享一个python反编译在线网站 反编译后是这段代码 #!/usr ...

最新文章

  1. pytorch版本的bert使用笔记
  2. AAAI-19 日程 安排
  3. swift_040(Swift闭包声明与用途)
  4. 浏览器输入域名网址访问后的过程详解
  5. 利用Aspose.Word控件实现Word文档的操作
  6. linux查看发起ddos攻击的ip,在Linux上使用netstat命令查证DDOS攻击的方法
  7. 从单纯聊天到在线生活
  8. 程序猿的崛起,一篇文章看懂编程语言
  9. LNK 2001:无法解析的外部符号 _sprintf
  10. java api es_中间件系列之ElasticSearch-3-Java API操作ES
  11. CTP: 接收心跳超时Bug
  12. 分享:Tuts4you社区,脱壳教程全集.1.5G
  13. python图像质量评价_OpenCV--Python 图像质量评价.docx
  14. 计算机自动维护有用吗,Win10系统关闭自动维护功能提高系统运行速度
  15. 比特(bits),符号(symbol),码片(chips)区别
  16. 微信小程序编写一个试卷demo
  17. 前端工程师到底有哪些晋升和发展方向选择?
  18. 【重磅推荐: 强化学习课程】清华大学李升波老师《强化学习与控制》
  19. Uicc之CatService(原)
  20. rdm最新版编译mac版本

热门文章

  1. 通过C++类方法地址调用类的虚方法
  2. 研发质量管理---(1)质量管理总结
  3. sql语句转换成linq
  4. 新浪微博java开发_新浪微博API java开发
  5. NanoPi的网络配置
  6. 下载n站本子的 node.js 脚本
  7. 初探微信小游戏(一)
  8. informatica 学习日记整理(转)
  9. String.split()方法介绍
  10. IT人生知识分享:博弈论的理性思维