1.根据提示出前十位的号码,猜测应该需要爆破后面十位,抓包发现发送到check.php:

2.跟进查看代码:

原理:因为代码中是通过种子seed生成了随机数,但是mt_srand()这个函数存在漏洞,php中mt_rand()生成的是一个伪随机数,是通过算法生成出来的,可以根据这个来进行爆破得到mt_srand()里的种子

3.将给出前十个密码解析成php_mt_seed需要的参数,伪随机数生成脚本:

str1 ='Xisiab1m0D'
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 + ' 'breakprint(result)

4.kali上下载工具php_mt_seed-4.0,使用该工具爆破php伪随机数的种子:

./php_mt_seed 59 59 0 61 8 8 0 61 18 18 0 61 8 8 0 61 0 0 0 61 1 1 0 61 27 27 0 61 12 12 0 61 26 26 0 61 39 39 0 61

5.重新用phpstorm跑一下爆破的种子:

<?php
mt_srand(578931025);$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;
?>

6.将爆破结果进行输入即可:

参考文章:PHP mt_rand安全杂谈及应用场景详解 - FreeBuf网络安全行业门户

【代码审计】buu_[GWCTF 2019]枯燥的抽奖相关推荐

  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. [GWCTF 2019]枯燥的抽奖 1

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

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

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

  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. 五轴高性能服务器,GF加工方案全新的五轴高性能加工中心MILL P 500 U
  2. 深入理解SQL注入绕过WAF和过滤机制
  3. 在 Lua 里 使用 Cocos Studio 导出的 .csb 文件
  4. 面试常见问题_软件实施工程师面试中的常见问题都有哪些呢?
  5. 金三银四跳槽面试季,我整理前端知识做了个网站
  6. 用户账号系统(python)
  7. javascript加载优化
  8. mysql导入工具 行提交_使用命令行工具mysqlimport导入数据
  9. java sql 排序_JAVA像SQL一样对List对象集合进行排序
  10. js作为参数,并且返回值;js的回调模式 callback
  11. 下载 LINUX 和 windows 版本下 MySQL5.7.32
  12. springmvc时间(date)无法转入后台(@DateTimeFormat+@JsonFormat(GMT+8))
  13. oracle 用户密码过期问题解决
  14. 左耳朵耗子的时间管理法则
  15. 机器人操作系统二(ROS2)- 修行 Taoism
  16. 浅谈车载支架无线充电方案
  17. matlab数据库开发教程pdf,Matlab数据库编程入门.pdf
  18. 六一儿童节 python
  19. C# RSA、AES加密解密
  20. 使用Python做饼图

热门文章

  1. 今天去龙德和万意转了一圈
  2. 北京华联BHG Mall持续发力,BHG DAY引领城市消费新热潮
  3. 马哥linux培训python
  4. 百度地图之自定义绘制功能
  5. 数字电路基础(五)算术运算电路
  6. shell-shell概述
  7. 【3D数学】03 - 线性变换
  8. OpenCV视频篇——从.JPG到.AVI:视频编码最强入门科普
  9. 考拉解析公众号解析视频iPhone借助Documents保存视频
  10. 关于存储优化型实例和大型数据仓库EC2实例选型