钥匙开锁的游戏--一道随机数种子爆破的CTF

admin 2020年8月28日21:00:50评论557 views字数 556阅读1分51秒阅读模式

昨天的文章因为看到留言说比赛还没有结束,所以就先删了。今天结束了再发。


今天在一个交流群的看到的CTF题目,不知道是什么比赛的,研究了一下,写一下解题思路。

钥匙开锁的游戏--一道随机数种子爆破的CTF

返回包,cookie里面有明显异常,提示从lock中推导出key。


使用工具扫描网站,扫描出来一个index.bak

钥匙开锁的游戏--一道随机数种子爆破的CTF

看到mt_rand函数,就知道考点是在爆破随机数种子这一块了

看返回包中的lock的值,每一次都是固定的,所以推测随机数种子也是固定的,后端代码如下

钥匙开锁的游戏--一道随机数种子爆破的CTF

所以我们只要爆破出种子的值就可以,得到key的值了


使用爆破工具 php_mt_seed - PHP mt_rand() seed cracker


下载完了以后,cd,然后make,应该就可以了。但是mac上编译会报错错误,直接gcc编译就可以了

钥匙开锁的游戏--一道随机数种子爆破的CTF

通过代码算出爆破的参数

钥匙开锁的游戏--一道随机数种子爆破的CTF

大概五分钟左右就能得到第一个种子

钥匙开锁的游戏--一道随机数种子爆破的CTF

通过代码验证一下,符合预期值

钥匙开锁的游戏--一道随机数种子爆破的CTF

这里有一个点,要注意一下

钥匙开锁的游戏--一道随机数种子爆破的CTF

通过响应头,我们可知php的版本为5.6所以我们也要使用这个版本的php,来运行代码,否则和我们的预期值会有偏差。


然后把我们算出来的key的值,放到cookie中发包

钥匙开锁的游戏--一道随机数种子爆破的CTF

本以为可以一发入魂,但是想到,还是提示这个

钥匙开锁的游戏--一道随机数种子爆破的CTF

在这个地方卡了好久,都以为是自己的思路错了,然后使用程序把全部的种子都跑出来了。除了这个种子以外,还有一个种子。但是试了还行不行。

最后加了一个XF头,搞定

钥匙开锁的游戏--一道随机数种子爆破的CTF

钥匙开锁的游戏--一道随机数种子爆破的CTF


  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2020年8月28日21:00:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   钥匙开锁的游戏--一道随机数种子爆破的CTFhttp://cn-sec.com/archives/106144.html

发表评论

匿名网友 填写信息