周末时间,抽个奖助助兴!

打开题目,发现是一个猜字符串的游戏,就问你枯不枯燥?

看到这想都不用想,CTRL+U查看后台代码,果然不出所料,发现了存在check.php

通过代码审计并结合题目来看,这是一道php伪随机数的题,通过代码可以发现使用了mt_rand()函数播种并生成了随机数,先用脚本转换伪随机数编程能力太弱,查看wp发现了一个较好的python脚本(原文链接:https://blog.csdn.net/qq_41628669/article/details/106133105)

# -*- coding: utf-8 -*-
s = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
key = 'c1z5DuPZXT'
m = ''
for i in key:for j in range(len(s)):if i == s[j]:m += "{} {} 0 {} ".format(j,j,len(s)-1)
print(m)2 2 0 61 27 27 0 61 25 25 0 61 31 31 0 61 39 39 0 61 20 20 0 61 51 51 0 61 61 61 0 61 59 59 0 61 55 55 0 61

下一步使用php_mt_seed4.0(下载地址)进行种子爆破

用爆破出来的种子生成题目中所要求的字符串

mt_srand(744449933);
$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>";

将所生成的字符串提交得到flag

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

  1. [GWCTF 2019]枯燥的抽奖

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

  2. [GWCTF 2019]枯燥的抽奖 1——php_mt_seed

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

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

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

  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. C#与java可以共用的DES加密解密
  2. PHP实现简易版区块链
  3. Android HttpURLConnection Post 参数 (https)
  4. flink的print()函数输出的都是对象地址而非对象内容
  5. 在python中可以用什么关键字来声明一个类_3. Python基础语法
  6. 关于bochs用X11启动的说明
  7. 【C++grammar】动态类型转换、typeid与RTTI
  8. bzoj 2245 [SDOI2011]工作安排【最小费用最大流】
  9. JS 打印 iframe
  10. 测试需求分析第一部分
  11. 安装mysql中文步骤_mysql安装步骤-Go语言中文社区
  12. Sublime Text自定义插入当前时间的插件
  13. RSA加密:javax.crypto.IllegalBlockSizeException: Data must not be longer than 117 bytes
  14. Java中parseInt()和valueOf(),toString()的区别
  15. 数据库多表链接查询的方式
  16. 夜间灯光数据dn值_DMSP/OLS和VIIRS/DNB夜间灯光影像的校正及拟合
  17. 各类型数据之间的混合运算
  18. [转]高分一号的落后与特色
  19. 【C语言】||(或) (且)
  20. HyperSnap截图工具使用

热门文章

  1. 丛麟环保IPO过会:年利润超2亿 拟募资20.3亿
  2. 苹果自带的清理软件_苹果用户福利 分享一款腾讯出品的垃圾清理软件
  3. CSDN 富文本编辑器和 Markdown 编辑器使用 Word 支持的 LaTx 语法公式
  4. 智慧养老智能化解决方案是什么?智慧养老智能化整体解决方案解决一切养老问题-新导智能
  5. python 玩玩乐 - moviepy 剪辑视频变成 gif 图
  6. Informatica Big Data Management 运维命令
  7. UE4 安装及入门项目
  8. 计算机组成原理(王道精讲课 + 天勤高分笔记) note
  9. 都这个点了,尽然还写博客啊,总结
  10. C语言中符号表示什么意思?举例说明